diff --git a/application/libraries/issues/PlausicheckDefinitionLib.php b/application/libraries/issues/PlausicheckDefinitionLib.php
index b44a5ce19..d8c26d43a 100755
--- a/application/libraries/issues/PlausicheckDefinitionLib.php
+++ b/application/libraries/issues/PlausicheckDefinitionLib.php
@@ -15,7 +15,6 @@ class PlausicheckDefinitionLib
'AktSemesterNull' => 'AktSemesterNull',
'AktiverStudentOhneStatus' => 'AktiverStudentOhneStatus',
'AusbildungssemPrestudentUngleichAusbildungssemStatus' => 'AusbildungssemPrestudentUngleichAusbildungssemStatus',
- 'BewerberNichtZumRtAngetreten' => 'BewerberNichtZumRtAngetreten',
'DatumAbschlusspruefungFehlt' => 'DatumAbschlusspruefungFehlt',
'DatumSponsionFehlt' => 'DatumSponsionFehlt',
'DatumStudiensemesterFalscheReihenfolge' => 'DatumStudiensemesterFalscheReihenfolge',
@@ -36,6 +35,7 @@ class PlausicheckDefinitionLib
'StudentstatusNachAbbrecher' => 'StudentstatusNachAbbrecher',
'DualesStudiumOhneMarkierung' => 'DualesStudiumOhneMarkierung'
//'StudienplanUngueltig' => 'StudienplanUngueltig'
+ //'BewerberNichtZumRtAngetreten' => 'BewerberNichtZumRtAngetreten'
);
/**
diff --git a/application/models/codex/Bismeldestichtag_model.php b/application/models/codex/Bismeldestichtag_model.php
index 319aa7be7..f9b412e7a 100644
--- a/application/models/codex/Bismeldestichtag_model.php
+++ b/application/models/codex/Bismeldestichtag_model.php
@@ -33,6 +33,23 @@ class Bismeldestichtag_model extends DB_Model
]);
}
+ /**
+ * Liefert nächstliegenden Bismeldestichtag.
+ * @return object success or error
+ */
+ public function getNextMeldestichtag()
+ {
+ $this->addSelect('meldestichtag');
+ $this->addSelect('studiensemester_kurzbz');
+
+ $this->addOrder('meldestichtag', 'ASC');
+ $this->addLimit(1);
+
+ return $this->loadWhere([
+ 'meldestichtag >= NOW()' => null
+ ]);
+ }
+
/**
* Prüft, ob Meldestichtag für ein bestimmtes Statusdatum und Studiensemester erreicht ist.
*
diff --git a/public/js/apps/Bismeldestichtag/Bismeldestichtag.js b/public/js/apps/Bismeldestichtag/Bismeldestichtag.js
index 04275d76a..877805b8f 100644
--- a/public/js/apps/Bismeldestichtag/Bismeldestichtag.js
+++ b/public/js/apps/Bismeldestichtag/Bismeldestichtag.js
@@ -15,8 +15,7 @@
* along with this program. If not, see .
*/
-import {BismeldestichtagTabulatorOptions} from './TabulatorSetup.js';
-import {BismeldestichtagTabulatorEventHandlers} from './TabulatorSetup.js';
+import {BismeldestichtagHelper} from './BismeldestichtagHelper.js';
import {CoreFilterCmpt} from '../../components/filter/Filter.js';
import {CoreNavigationCmpt} from '../../components/navigation/Navigation.js';
@@ -29,8 +28,60 @@ import Phrasen from '../../plugin/Phrasen.js';
const bismeldestichtagApp = Vue.createApp({
data: function() {
return {
- bismeldestichtagTabulatorOptions: BismeldestichtagTabulatorOptions,
- bismeldestichtagTabulatorEventHandlers: BismeldestichtagTabulatorEventHandlers,
+ bismeldestichtagTabulatorOptions: {
+ maxHeight: "100%",
+ minHeight: 50,
+ layout: 'fitColumns',
+ index: 'meldestichtag_id',
+ initialSort:[
+ {column:"meldestichtag", dir:"desc"}
+ ],
+ columns: [
+ {title: 'Meldestichtag', field: 'meldestichtag', headerFilter: true, formatter: function(cell){
+ return BismeldestichtagHelper.formatDate(cell.getValue());
+ }
+ },
+ {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 BismeldestichtagHelper.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 '';
+ }
+ }
+ ]
+ },
+ bismeldestichtagTabulatorEventHandlers: [
+ {
+ event: "rowClick",
+ handler: function(e, row) {
+ if (e.target.nodeName == 'DIV') {
+ let data = row.getData();
+ alert(data.studiensemester_kurzbz + ': ' + BismeldestichtagHelper.formatDate(data.meldestichtag));
+ }
+ }
+ },
+ {
+ event: "tableBuilt",
+ handler: () => {
+ this.handlerStudiensemester();
+ }
+ }
+ ],
meldestichtag: null, // date of Meldestichtag
semList: null, // all Studiensemester for dropdown
currSem: null, // selected Studiensemester
@@ -47,9 +98,6 @@ const bismeldestichtagApp = Vue.createApp({
CoreFetchCmpt,
"datepicker": VueDatePicker
},
- created() {
- this.handlerStudiensemester();
- },
methods: {
/**
* Define Studiensemester call and method to be executed after the call
diff --git a/public/js/apps/Bismeldestichtag/BismeldestichtagHelper.js b/public/js/apps/Bismeldestichtag/BismeldestichtagHelper.js
new file mode 100644
index 000000000..d51dc5134
--- /dev/null
+++ b/public/js/apps/Bismeldestichtag/BismeldestichtagHelper.js
@@ -0,0 +1,22 @@
+/**
+ * Copyright (C) 2022 fhcomplete.org
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+export const BismeldestichtagHelper = {
+ formatDate: function(date) {
+ return date.replace(/(.*)-(.*)-(.*)/, '$3.$2.$1');
+ }
+}
diff --git a/public/js/apps/Bismeldestichtag/TabulatorSetup.js b/public/js/apps/Bismeldestichtag/TabulatorSetup.js
deleted file mode 100644
index d98cc993c..000000000
--- a/public/js/apps/Bismeldestichtag/TabulatorSetup.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Copyright (C) 2022 fhcomplete.org
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/**
- *
- */
-export const BismeldestichtagTabulatorOptions = {
- maxHeight: "100%",
- minHeight: 50,
- layout: 'fitColumns',
- index: 'meldestichtag_id',
- columns: [
- {title: 'Meldestichtag',field: 'meldestichtag', headerFilter: true, formatter: function(cell){
- return BismeldestichtagTabulatorHelperFunctions._formatDate(cell.getValue());
- }
- },
- {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 '';
- }
- }
- ]
-};
-
-/**
- *
- */
-export const BismeldestichtagTabulatorEventHandlers = [
- {
- event: "rowClick",
- handler: function(e, row) {
- if (e.target.nodeName == 'DIV') {
- let data = row.getData();
- alert(data.studiensemester_kurzbz + ': ' + BismeldestichtagTabulatorHelperFunctions._formatDate(data.meldestichtag));
- }
- }
- }
-];
-
-let BismeldestichtagTabulatorHelperFunctions = {
- _formatDate: function(date) {
- return date.replace(/(.*)-(.*)-(.*)/, '$3.$2.$1');
- }
-}