From f87277e1f2d9e63a17896e38cb0e755b337b3c2f Mon Sep 17 00:00:00 2001 From: cgfhtw Date: Tue, 6 Aug 2024 16:35:59 +0200 Subject: [PATCH] Status: Aufgenommener & code reuse --- .../api/frontend/v1/stv/Status.php | 14 +- application/libraries/PrestudentLib.php | 169 +++++------------- 2 files changed, 47 insertions(+), 136 deletions(-) diff --git a/application/controllers/api/frontend/v1/stv/Status.php b/application/controllers/api/frontend/v1/stv/Status.php index 35c480b37..a002926f9 100644 --- a/application/controllers/api/frontend/v1/stv/Status.php +++ b/application/controllers/api/frontend/v1/stv/Status.php @@ -498,15 +498,11 @@ class Status extends FHCAPI_Controller ); break; case Prestudentstatus_model::STATUS_AUFGENOMMENER: - $this->load->library('PrestudentLib'); - $result = $this->prestudentlib->setAufgenommener($prestudent_id, $studiensemester_kurzbz, $ausbildungssemester); - - if (isError($result)) - { - return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL); - } - else - $this->terminateWithSuccess($prestudent_id); + $result = $this->prestudentlib->setAufgenommener( + $prestudent_id, + $studiensemester_kurzbz, + $ausbildungssemester + ); break; case Prestudentstatus_model::STATUS_ABGEWIESENER: $this->load->library('PrestudentLib'); diff --git a/application/libraries/PrestudentLib.php b/application/libraries/PrestudentLib.php index ba51c4d6a..4a0b45034 100644 --- a/application/libraries/PrestudentLib.php +++ b/application/libraries/PrestudentLib.php @@ -518,150 +518,28 @@ class PrestudentLib public function setDiplomand($prestudent_id, $studiensemester_kurzbz, $ausbildungssemester) { - $result = $this->_ci->PrestudentstatusModel->getLastStatus($prestudent_id); - - if (isError($result)) - return $result; - if (!hasData($result)) - return error($this->_ci->p->t('studierendenantrag', 'error_no_prestudentstatus', [ - 'prestudent_id' => $prestudent_id - ])); - - $prestudent_status = current(getData($result)); - - - // Update Aktionen - - // Status updaten - $result = $this->_ci->PrestudentstatusModel->insert([ - 'prestudent_id' => $prestudent_id, - 'status_kurzbz' => Prestudentstatus_model::STATUS_DIPLOMAND, - 'studiensemester_kurzbz' => $studiensemester_kurzbz, - 'ausbildungssemester' => $ausbildungssemester, - 'datum' => date('c'), - 'insertvon' => getAuthUID(), - 'insertamum' => date('c'), - 'orgform_kurzbz'=> $prestudent_status->orgform_kurzbz, - 'studienplan_id'=> $prestudent_status->studienplan_id, - 'bestaetigtvon' => getAuthUID(), - 'bestaetigtam' => date('c'), - ]); - - if (isError($result)) - return $result; - - return success(); + return $this->setBasic(Prestudentstatus_model::STATUS_DIPLOMAND, $prestudent_id, $studiensemester_kurzbz, $ausbildungssemester); } public function setAbsolvent($prestudent_id, $studiensemester_kurzbz, $ausbildungssemester) { - $result = $this->_ci->PrestudentstatusModel->getLastStatus($prestudent_id); - - if (isError($result)) - return $result; - if (!hasData($result)) - return error($this->_ci->p->t('studierendenantrag', 'error_no_prestudentstatus', [ - 'prestudent_id' => $prestudent_id - ])); - - $prestudent_status = current(getData($result)); - - - // Update Aktionen - - // Status updaten - $result = $this->_ci->PrestudentstatusModel->insert([ - 'prestudent_id' => $prestudent_id, - 'status_kurzbz' => Prestudentstatus_model::STATUS_ABSOLVENT, - 'studiensemester_kurzbz' => $studiensemester_kurzbz, - 'ausbildungssemester' => $ausbildungssemester, - 'datum' => date('c'), - 'insertvon' => getAuthUID(), - 'insertamum' => date('c'), - 'orgform_kurzbz'=> $prestudent_status->orgform_kurzbz, - 'studienplan_id'=> $prestudent_status->studienplan_id, - 'bestaetigtvon' => getAuthUID(), - 'bestaetigtam' => date('c'), - ]); - - if (isError($result)) - return $result; - - return success(); + return $this->setBasic(Prestudentstatus_model::STATUS_ABSOLVENT, $prestudent_id, $studiensemester_kurzbz, $ausbildungssemester); } public function setBewerber($prestudent_id, $studiensemester_kurzbz, $ausbildungssemester) { - $result = $this->_ci->PrestudentstatusModel->getLastStatus($prestudent_id); - - if (isError($result)) - return $result; - if (!hasData($result)) - return error($this->_ci->p->t('studierendenantrag', 'error_no_prestudentstatus', [ - 'prestudent_id' => $prestudent_id - ])); - - $prestudent_status = current(getData($result)); - - - // Update Aktionen - - // Status updaten - $result = $this->_ci->PrestudentstatusModel->insert([ - 'prestudent_id' => $prestudent_id, - 'status_kurzbz' => Prestudentstatus_model::STATUS_BEWERBER, - 'studiensemester_kurzbz' => $studiensemester_kurzbz, - 'ausbildungssemester' => $ausbildungssemester, - 'datum' => date('c'), - 'insertvon' => getAuthUID(), - 'insertamum' => date('c'), - 'orgform_kurzbz'=> $prestudent_status->orgform_kurzbz, - 'studienplan_id'=> $prestudent_status->studienplan_id, - 'bestaetigtvon' => getAuthUID(), - 'bestaetigtam' => date('c') - ]); + $result = $this->setBasic(Prestudentstatus_model::STATUS_BEWERBER, $prestudent_id, $studiensemester_kurzbz, $ausbildungssemester); if (SEND_BEWERBER_INFOMAIL) { // TODO(chris): IMPLEMENT! } - if (isError($result)) - return $result; - - return success(); + return $result; } public function setAufgenommener($prestudent_id, $studiensemester_kurzbz, $ausbildungssemester) { - $resultLastStatus = $this->_ci->PrestudentstatusModel->getLastStatus($prestudent_id); - if (isError($resultLastStatus)) - return $resultLastStatus; - $resultLastStatus = getData($resultLastStatus); - - $prestudent_status = current($resultLastStatus); - - - //Status updaten - $result = $this->_ci->PrestudentstatusModel->insert([ - 'prestudent_id' => $prestudent_id, - 'status_kurzbz' => Prestudentstatus_model::STATUS_AUFGENOMMENER, - 'studiensemester_kurzbz' => $studiensemester_kurzbz, - 'ausbildungssemester' => $ausbildungssemester, - 'datum' => date('c'), - 'insertvon' => getAuthUID(), - 'insertamum' => date('c'), - 'orgform_kurzbz'=> $prestudent_status->orgform_kurzbz, - 'studienplan_id'=> $prestudent_status->studienplan_id, - 'bestaetigtvon' => getAuthUID(), - 'bestaetigtam' => date('c') - ]); - - if (isError($result)) - { - return $result; - } - else - return success(); + return $this->setBasic(Prestudentstatus_model::STATUS_AUFGENOMMENER, $prestudent_id, $studiensemester_kurzbz, $ausbildungssemester); } public function setAbgewiesener($prestudent_id, $studiensemester_kurzbz, $ausbildungssemester, $statusgrund_id) @@ -728,4 +606,41 @@ class PrestudentLib else return success(); } + + protected function setBasic($status_kurzbz, $prestudent_id, $studiensemester_kurzbz, $ausbildungssemester) + { + $result = $this->_ci->PrestudentstatusModel->getLastStatus($prestudent_id); + + if (isError($result)) + return $result; + if (!hasData($result)) + return error($this->_ci->p->t('studierendenantrag', 'error_no_prestudentstatus', [ + 'prestudent_id' => $prestudent_id + ])); + + $prestudent_status = current(getData($result)); + + + // Update Aktionen + + // Status updaten + $result = $this->_ci->PrestudentstatusModel->insert([ + 'prestudent_id' => $prestudent_id, + 'status_kurzbz' => $status_kurzbz, + 'studiensemester_kurzbz' => $studiensemester_kurzbz, + 'ausbildungssemester' => $ausbildungssemester, + 'datum' => date('c'), + 'insertvon' => getAuthUID(), + 'insertamum' => date('c'), + 'orgform_kurzbz'=> $prestudent_status->orgform_kurzbz, + 'studienplan_id'=> $prestudent_status->studienplan_id, + 'bestaetigtvon' => getAuthUID(), + 'bestaetigtam' => date('c') + ]); + + if (isError($result)) + return $result; + + return success(); + } }