diff --git a/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php b/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php index 682dc3c2f..8a11fa103 100644 --- a/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php +++ b/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php @@ -23,7 +23,8 @@ class LehrauftragAkzeptieren extends Auth_Controller parent::__construct( array( 'index' => 'lehre/lehrauftrag_akzeptieren:r', - 'acceptLehrauftrag' => 'lehre/lehrauftrag_akzeptieren:rw' + 'acceptLehrauftrag' => 'lehre/lehrauftrag_akzeptieren:rw', + 'checkInkludierteLehre' => 'lehre/lehrauftrag_akzeptieren:rw' ) ); @@ -65,19 +66,6 @@ class LehrauftragAkzeptieren extends Auth_Controller */ public function index() { - /** - * Check if lectors latest active Verwendung has inkludierte Lehre - * - inkludierte_lehre is null: freelancer lector -> has NO inkludierte Lehre - * - inkludierte_lehre -1: fix employed lector -> all inclusive Lehre - * - inkludierte_lehre > 0: fix employed lector -> given value is inclusive Lehre - */ - $has_inkludierteLehre = false; - $result = $this->BisverwendungModel->getLast($this->_uid); - if (hasData($result)) - { - $has_inkludierteLehre = (is_null($result->retval[0]->inkludierte_lehre)) ? false : true; - } - // Set studiensemester selected for studiengang dropdown $studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value @@ -94,8 +82,7 @@ class LehrauftragAkzeptieren extends Auth_Controller } $view_data = array( - 'studiensemester_selected' => $studiensemester_kurzbz, - 'has_inkludierteLehre' => $has_inkludierteLehre + 'studiensemester_selected' => $studiensemester_kurzbz ); $this->load->view('lehre/lehrauftrag/acceptLehrauftrag.php', $view_data); @@ -177,6 +164,26 @@ class LehrauftragAkzeptieren extends Auth_Controller } } } + + /** + * Check if lectors latest active Verwendung has inkludierte Lehre + * - inkludierte_lehre is null: freelancer lector -> has NO inkludierte Lehre + * - inkludierte_lehre -1: fix employed lector -> all inclusive Lehre + * - inkludierte_lehre > 0: fix employed lector -> given value is inclusive Lehre + */ + public function checkInkludierteLehre() + { + $result = $this->BisverwendungModel->getLast($this->_uid); + + if (hasData($result)) + { + $this->outputJsonSuccess(!is_null($result->retval[0]->inkludierte_lehre)); + } + else + { + $this->outputJsonError($result->retval); + } + } // ----------------------------------------------------------------------------------------------------------------- // Private methods diff --git a/application/views/lehre/lehrauftrag/acceptLehrauftrag.php b/application/views/lehre/lehrauftrag/acceptLehrauftrag.php index 31f46a6ec..1e11613be 100644 --- a/application/views/lehre/lehrauftrag/acceptLehrauftrag.php +++ b/application/views/lehre/lehrauftrag/acceptLehrauftrag.php @@ -1,11 +1,3 @@ - - load->view( 'templates/FHC-Header', diff --git a/public/js/lehre/lehrauftrag/acceptLehrauftrag.js b/public/js/lehre/lehrauftrag/acceptLehrauftrag.js index b05a7b317..f8b3d33d0 100644 --- a/public/js/lehre/lehrauftrag/acceptLehrauftrag.js +++ b/public/js/lehre/lehrauftrag/acceptLehrauftrag.js @@ -4,16 +4,12 @@ * Lehrauftraege annehmen - Tabulator: acceptLehrauftragData.php */ - // ----------------------------------------------------------------------------------------------------------------- // Global vars // ----------------------------------------------------------------------------------------------------------------- const COLOR_LIGHTGREY = "#f5f5f5"; -// Store boolean has_inkludierteLehre. If true, used to hide column Betrag. -// has_inkludierteLehre is defined in acceptLehrauftrag.php BEFORE loading this js-script (to pass php variable) - /** * PNG icons used in status- and filter buttons * Setting png icons is a workaround to use font-awsome 5.9.0 icons until system can be updated to newer font awsome version. @@ -237,11 +233,25 @@ function func_rowUpdated(row){ // Hide betrag, if lector has inkludierte Lehre function func_renderComplete(table){ - // If the lectors actual Verwendung has inkludierte Lehre, hide the column betrag - if (has_inkludierteLehre) - { - table.hideColumn("betrag"); - } + // Check if the lectors actual Verwendung has inkludierte Lehre + FHC_AjaxClient.ajaxCallGet( + FHC_JS_DATA_STORAGE_OBJECT.called_path + "/checkInkludierteLehre", + null, + { + successCallback: function (data, textStatus, jqXHR) + { + // If lector has inkludierte Lehre, hide the column betrag + if (data.retval) + { + table.hideColumn("betrag"); + } + }, + errorCallback: function (jqXHR, textStatus, errorThrown) + { + FHC_DialogLib.alertError("Systemfehler
Bitte kontaktieren Sie Ihren Administrator."); + } + } + ); } // Tabulator footer element