diff --git a/application/views/codex/bismeldestichtag.php b/application/views/codex/bismeldestichtag.php index 0166666af..8973454aa 100644 --- a/application/views/codex/bismeldestichtag.php +++ b/application/views/codex/bismeldestichtag.php @@ -8,9 +8,6 @@ 'filtercomponent' => true, 'navigationcomponent' => true, 'tabulator5' => true, - 'customCSSs' => array( - 'public/css/components/verticalsplit.css' - ), 'customJSModules' => array('public/js/apps/Bismeldestichtag/Bismeldestichtag.js') ); @@ -31,35 +28,55 @@
-
- - - - +
diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index b08d977e8..35833fc64 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -997,7 +997,7 @@ if(!$error) $bismeldestichtag = new bismeldestichtag(); - $meldestichtag_erreicht = $bismeldestichtag->checkMeldestichtagErreicht($studiensemester, $new_status_datum); + $meldestichtag_erreicht = $bismeldestichtag->checkMeldestichtagErreicht($new_status_datum); if ($meldestichtag_erreicht === true) { @@ -1223,7 +1223,7 @@ if(!$error) $erweiterteBerechtigungen = $rechte->isBerechtigt('admin', null, 'suid') || $rechte->isBerechtigt('student/keine_studstatuspruefung', null, 'suid'); $bismeldestichtag = new bismeldestichtag(); - $meldestichtag_erreicht = $bismeldestichtag->checkMeldestichtagErreicht($_POST['studiensemester_kurzbz'], $_POST['datum']); + $meldestichtag_erreicht = $bismeldestichtag->checkMeldestichtagErreicht($_POST['datum']); if($_POST['status_kurzbz']=='Student' && !$erweiterteBerechtigungen) { @@ -1557,7 +1557,7 @@ if(!$error) // Prüfung, ob Meldestichtag erreicht ist $bismeldestichtag = new bismeldestichtag(); - $meldestichtag_erreicht = $bismeldestichtag->checkMeldestichtagErreicht($_POST['studiensemester_kurzbz'], $_POST['datum']); + $meldestichtag_erreicht = $bismeldestichtag->checkMeldestichtagErreicht($_POST['datum']); if ($meldestichtag_erreicht === true) { diff --git a/content/student/studentrolledialog.xul.php b/content/student/studentrolledialog.xul.php index 615531e82..7e2177a90 100644 --- a/content/student/studentrolledialog.xul.php +++ b/content/student/studentrolledialog.xul.php @@ -76,7 +76,7 @@ if($prestudent_id!='') // Prüfen, ob Studnetrolle vor dem aktuellen Meldestichtag ist. In diesem Fall darf die Rolle nicht mehr bearbeitet werden. $bismeldestichtag = new bismeldestichtag(); - $disabled = $bismeldestichtag->checkMeldestichtagErreicht($studiensemester_kurzbz, $datum) ? ' disabled="true"' : ''; + $disabled = $bismeldestichtag->checkMeldestichtagErreicht($datum) ? ' disabled="true"' : ''; } $db = new basis_db(); $user=get_uid(); diff --git a/include/bismeldestichtag.class.php b/include/bismeldestichtag.class.php index a12716bed..143096dd8 100644 --- a/include/bismeldestichtag.class.php +++ b/include/bismeldestichtag.class.php @@ -27,9 +27,9 @@ class bismeldestichtag extends basis_db public $meldestichtag; // date public $studiensemester_kurzbz; // varchar(16) public $insertamum; // timestamp - public $insertvon; // varchar(16) + public $insertvon; // varchar(32) public $updateamum; // timestamp - public $updatevon; // varchar(16) + public $updatevon; // varchar(32) // ErgebnisArray public $result=array(); @@ -144,19 +144,23 @@ class bismeldestichtag extends basis_db } /** - * Prüft, ob Meldestichtag für ein bestimmtes Studiensemester und Statusdatum erreicht ist. + * Prüft, ob Meldestichtag für ein bestimmtes Statusdatum und Studiensemester erreicht ist. * - * @param $studiensemester_kurzbz * @param $status_datum + * @param $studiensemester_kurzbz * @return boolean true wenn erreicht, oder false */ - public function checkMeldestichtagErreicht($studiensemester_kurzbz, $status_datum) + public function checkMeldestichtagErreicht($status_datum, $studiensemester_kurzbz = null) { $erreicht = false; - // Studiensemester ende holen - $studiensemester = new studiensemester(); - if ($studiensemester->load($studiensemester_kurzbz)) - $studiensemester_ende = new DateTime($studiensemester->ende); + + if (isset($studiensemester_kurzbz)) + { + // Studiensemester ende holen + $studiensemester = new studiensemester(); + if ($studiensemester->load($studiensemester_kurzbz)) + $studiensemester_ende = new DateTime($studiensemester->ende); + } // letztes erreichtes Bismeldedatum holen if ($this->getLastReachedMeldestichtag() && isset($this->result[0])) @@ -165,8 +169,15 @@ class bismeldestichtag extends basis_db $statusDatum = new DateTime($status_datum); // Prüfen, ob Studentstatusdatum oder Studiensemester vor dem Stichtagsdatum liegen - if (isset($studiensemester_ende) && isset($lastReachedMeldestichtag) && isset($statusDatum)) - $erreicht = $statusDatum < $lastReachedMeldestichtag || $studiensemester_ende < $lastReachedMeldestichtag; + if (isset($statusDatum)) + { + if (isset($lastReachedMeldestichtag)) + $erreicht = $statusDatum < $lastReachedMeldestichtag; + + if (isset($studiensemester_ende)) + $erreicht = $erreicht || $studiensemester_ende < $lastReachedMeldestichtag; + + } return $erreicht; } diff --git a/public/js/apps/Bismeldestichtag/Bismeldestichtag.js b/public/js/apps/Bismeldestichtag/Bismeldestichtag.js index ce464eaf5..edc665f2d 100644 --- a/public/js/apps/Bismeldestichtag/Bismeldestichtag.js +++ b/public/js/apps/Bismeldestichtag/Bismeldestichtag.js @@ -23,7 +23,6 @@ import {CoreNavigationCmpt} from '../../components/navigation/Navigation.js'; import {CoreRESTClient} from '../../RESTClient.js'; import {CoreFetchCmpt} from '../../components/Fetch.js'; import {BismeldestichtagAPIs} from './API.js'; -import verticalsplit from '../../components/verticalsplit/verticalsplit.js'; const bismeldestichtagApp = Vue.createApp({ data: function() { @@ -44,8 +43,7 @@ const bismeldestichtagApp = Vue.createApp({ CoreNavigationCmpt, CoreFilterCmpt, BismeldestichtagAPIs, - CoreFetchCmpt, - verticalsplit + CoreFetchCmpt }, created() { this.handlerStudiensemester(); diff --git a/rdf/prestudentrolle.rdf.php b/rdf/prestudentrolle.rdf.php index 6592043bf..0a6caf05c 100644 --- a/rdf/prestudentrolle.rdf.php +++ b/rdf/prestudentrolle.rdf.php @@ -104,7 +104,7 @@ foreach($ps->result as $row) // prüfen, ob Meldestichtag erreicht $bismeldestichtag = new bismeldestichtag(); - $stichtag_erreicht = $bismeldestichtag->checkMeldestichtagErreicht($row->studiensemester_kurzbz, $row->datum); + $stichtag_erreicht = $bismeldestichtag->checkMeldestichtagErreicht($row->datum); // Variablen für layout von prestudentstatus Anzeige $stichtagsaktiv = $stichtag_erreicht ? 'stichtagsinaktiv' : 'stichtagsaktiv';