diff --git a/application/controllers/codex/Bismeldestichtag.php b/application/controllers/codex/Bismeldestichtag.php index 0da8003ee..2723b2f7c 100644 --- a/application/controllers/codex/Bismeldestichtag.php +++ b/application/controllers/codex/Bismeldestichtag.php @@ -22,9 +22,6 @@ class Bismeldestichtag extends Auth_Controller ) ); - // Loads WidgetLib - $this->load->library('WidgetLib'); - // Load models $this->load->model('codex/Bismeldestichtag_model', 'BismeldestichtagModel'); $this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel'); @@ -78,7 +75,13 @@ class Bismeldestichtag extends Auth_Controller public function getBismeldestichtage() { - $this->BismeldestichtagModel->addSelect('meldestichtag_id, meldestichtag, studiensemester_kurzbz'); + $this->BismeldestichtagModel->addSelect( + 'meldestichtag_id, meldestichtag, + tbl_bismeldestichtag.studiensemester_kurzbz, sem.start AS semester_start, + tbl_bismeldestichtag.insertamum, tbl_bismeldestichtag.insertvon, tbl_bismeldestichtag.updateamum, tbl_bismeldestichtag.updatevon' + ); + $this->BismeldestichtagModel->addJoin('public.tbl_studiensemester sem', 'studiensemester_kurzbz', 'LEFT'); + $this->BismeldestichtagModel->addOrder('semester_start'); $this->BismeldestichtagModel->addOrder('meldestichtag', 'DESC'); $this->BismeldestichtagModel->addOrder('meldestichtag_id', 'DESC'); $this->outputJson($this->BismeldestichtagModel->load()); @@ -111,7 +114,11 @@ class Bismeldestichtag extends Auth_Controller { // insert new if Stichtag does not exist $this->outputJson($this->BismeldestichtagModel->insert( - array('meldestichtag' => $request->meldestichtag, 'studiensemester_kurzbz' => $request->studiensemester_kurzbz) + array( + 'meldestichtag' => $request->meldestichtag, + 'studiensemester_kurzbz' => $request->studiensemester_kurzbz, + 'insertvon' => getAuthUID() + ) )); } } diff --git a/application/views/codex/bismeldestichtag.php b/application/views/codex/bismeldestichtag.php index 84f529273..37af16cc6 100644 --- a/application/views/codex/bismeldestichtag.php +++ b/application/views/codex/bismeldestichtag.php @@ -35,6 +35,8 @@ diff --git a/public/js/apps/Bismeldestichtag/TabulatorSetup.js b/public/js/apps/Bismeldestichtag/TabulatorSetup.js index ffc8a6e3a..d98cc993c 100644 --- a/public/js/apps/Bismeldestichtag/TabulatorSetup.js +++ b/public/js/apps/Bismeldestichtag/TabulatorSetup.js @@ -28,8 +28,22 @@ export const BismeldestichtagTabulatorOptions = { return BismeldestichtagTabulatorHelperFunctions._formatDate(cell.getValue()); } }, - {title: 'Studiensemester', field: 'studiensemester_kurzbz', headerFilter: true}, + {title: 'Studiensemester', field: 'studiensemester_kurzbz', headerFilter: true, sorter:function(a, b, aRow, bRow, column, dir, sorterParams) { + + //aRow, bRow - the row components for the values being compared + let semesterStartA = new Date(aRow.getData().semester_start); + let semesterStartB = new Date(bRow.getData().semester_start); + + return semesterStartA - semesterStartB; // difference between studiensemester start dates + } + }, + {title: 'Semesterstart',field: 'semester_start', headerFilter: true, visible: false, formatter: function(cell){ + return BismeldestichtagTabulatorHelperFunctions._formatDate(cell.getValue()); + } + }, {title: 'ID', field: 'meldestichtag_id', headerFilter: true, visible: false}, + {title: 'Insertamum', field: 'insertamum', headerFilter: true, visible: false}, + {title: 'Insertvon', field: 'insertvon', headerFilter: true, visible: false}, {title: 'Löschen', field: 'loeschen', headerFilter: false, formatter:function(cell){ return '