diff --git a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php index 7b66a728c..829b3139a 100644 --- a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php +++ b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php @@ -1,6 +1,6 @@ load->view('lehre/anrechnung/requestAnrechnung.php', $viewData); } + /** + * Apply Anrechnungsantrag and send to STGL + */ public function apply() { $anmerkung = $this->input->post('anmerkung'); diff --git a/application/controllers/lehre/anrechnung/ReviewAnrechnungUebersicht.php b/application/controllers/lehre/anrechnung/ReviewAnrechnungUebersicht.php index bbf391281..6f777736f 100644 --- a/application/controllers/lehre/anrechnung/ReviewAnrechnungUebersicht.php +++ b/application/controllers/lehre/anrechnung/ReviewAnrechnungUebersicht.php @@ -1,6 +1,6 @@ _uid) show_error('User authentification failed'); } + /** + * Send mails to STGL (if not present then to STGL assistance) + * @param $mail_params + * @param $empfehlung + * @return bool + */ private function _sendSanchoMails($mail_params, $empfehlung) { // Get studiengaenge diff --git a/application/libraries/AnrechnungLib.php b/application/libraries/AnrechnungLib.php index 17b2538a6..f9a0bc2a9 100644 --- a/application/libraries/AnrechnungLib.php +++ b/application/libraries/AnrechnungLib.php @@ -145,6 +145,11 @@ class AnrechnungLib return success($anrechnung_data); } + /** + * Get students data by Anrechnung + * @param $anrechnung_id + * @return mixed + */ public function getStudentData($anrechnung_id) { if (!is_numeric($anrechnung_id)) @@ -233,18 +238,50 @@ class AnrechnungLib $this->ci->AnrechnungModel->addSelect('lehrveranstaltung_id, student_uid, studiensemester_kurzbz'); $this->ci->AnrechnungModel->addJoin('public.tbl_student', 'prestudent_id'); $anrechnung = getData($this->ci->AnrechnungModel->load($anrechnung_id))[0]; - $result = $this->ci->ZeugnisnoteModel->insert(array( + + // Check if zeugnisnote exists + $result = $this->ci->ZeugnisnoteModel->loadWhere(array( 'lehrveranstaltung_id' => $anrechnung->lehrveranstaltung_id, 'student_uid' => $anrechnung->student_uid, - 'studiensemester_kurzbz' => $anrechnung->studiensemester_kurzbz, - 'uebernahmedatum' => (new DateTime())->format('Y-m-d H:m:i'), - 'benotungsdatum' => (new DateTime())->format('Y-m-d H:m:i'), - 'note' => 6, - 'insertvon' => $stgl_uid, - 'bemerkung' => 'Digitale Anrechnung' + 'studiensemester_kurzbz' => $anrechnung->studiensemester_kurzbz ) ); + // If zeugnisnote exists, update... + if (hasData($result)) + { + $this->ci->ZeugnisnoteModel->update( + array( + 'lehrveranstaltung_id' => $anrechnung->lehrveranstaltung_id, + 'student_uid' => $anrechnung->student_uid, + 'studiensemester_kurzbz' => $anrechnung->studiensemester_kurzbz + ), + array( + 'uebernahmedatum' => (new DateTime())->format('Y-m-d H:m:i'), + 'benotungsdatum' => (new DateTime())->format('Y-m-d H:m:i'), + 'note' => 6, + 'insertvon' => $stgl_uid, + 'bemerkung' => 'Digitale Anrechnung' + ) + ); + + } + // ...otherwise insert + else + { + $this->ci->ZeugnisnoteModel->insert(array( + 'lehrveranstaltung_id' => $anrechnung->lehrveranstaltung_id, + 'student_uid' => $anrechnung->student_uid, + 'studiensemester_kurzbz' => $anrechnung->studiensemester_kurzbz, + 'uebernahmedatum' => (new DateTime())->format('Y-m-d H:m:i'), + 'benotungsdatum' => (new DateTime())->format('Y-m-d H:m:i'), + 'note' => 6, + 'insertvon' => $stgl_uid, + 'bemerkung' => 'Digitale Anrechnung' + ) + ); + } + // Transaction complete $this->ci->db->trans_complete(); @@ -448,6 +485,7 @@ class AnrechnungLib return success(true); // recommended } + // Return an object with Anrechnungdata private function _setAnrechnungDataObject($anrechnung) { $anrechnung_data = new StdClass();