check Bismeldestichtag, refactor Lehrverband

This commit is contained in:
ma0068
2024-03-12 07:52:51 +01:00
parent 3a9f6a0edd
commit a49075bcb7
6 changed files with 349 additions and 144 deletions
@@ -1,7 +1,6 @@
<?php
class Bismeldestichtag_model extends DB_Model
{
/**
* Constructor
*/
@@ -54,9 +53,29 @@ class Bismeldestichtag_model extends DB_Model
* @param $status_datum
* @return boolean true wenn erreicht, oder false
*/
public function checkIfMeldestichtagErreicht($status_datum)
public function checkIfMeldestichtagErreicht($status_datum, $studiensemester_kurzbz = null)
{
$erreicht = false;
if (isset($studiensemester_kurzbz))
{
// Studiensemesterende holen
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$result = $this->StudiensemesterModel->loadWhere(
array(
'studiensemester_kurzbz' => $studiensemester_kurzbz
)
);
if(isError($result))
{
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
return $this->outputJson(getError($result));
}
$result = current(getData($result));
$studiensemester_ende = $result->ende;
}
// letztes erreichtes Bismeldedatum holen
$result = $this->getLastReachedMeldestichtag();
if (isError($result))
@@ -68,7 +87,6 @@ class Bismeldestichtag_model extends DB_Model
}
$stichtag = current(getData($result));
$stichtag = $stichtag->meldestichtag;
var_dump($status_datum . " < " . $stichtag . "?");
// Prüfen, ob Studentstatusdatum oder Studiensemester vor dem Stichtagsdatum liegen
if (isset($statusDatum))
@@ -77,6 +95,11 @@ class Bismeldestichtag_model extends DB_Model
$erreicht = $statusDatum < $stichtag;
}
if (isset($studiensemester_ende))
{
$erreicht = $erreicht || $studiensemester_ende < $stichtag;
}
if($erreicht)
return success("1", "Studentstatus mit Datum oder Semesterende vor erreichtem Meldestichtag können nicht hinzugefügt werden");