diff --git a/application/config/studierendenantrag.php b/application/config/studierendenantrag.php index 4e25aef28..ef2098aca 100644 --- a/application/config/studierendenantrag.php +++ b/application/config/studierendenantrag.php @@ -168,3 +168,32 @@ $config['stgkz_blacklist_wiederholung'] = []; * @var array An array of noten ids */ $config['note_blacklist_wiederholung'] = []; + +/** + * Enable/disable the Abmeldung StG process + * + * @var bool + */ +$config['abmeldung_stg_enabled'] = true; + +/** + * Enable/disable the Abmeldung process + * + * @var bool + */ +$config['abmeldung_enabled'] = true; + +/** + * Enable/disable the Unterbrecher process + * + * @var bool + */ +$config['unterbrechung_enabled'] = true; + +/** + * Enable/disable the Wiederholer process + * + * @var bool + */ +$config['wiederholung_enabled'] = true; + diff --git a/application/controllers/jobs/AntragJob.php b/application/controllers/jobs/AntragJob.php index 8dc4870ea..5b72518d2 100644 --- a/application/controllers/jobs/AntragJob.php +++ b/application/controllers/jobs/AntragJob.php @@ -40,6 +40,13 @@ class AntragJob extends JOB_Controller */ public function sendStglSammelmail() { + + if ($this->config->item('abmeldung_enabled') !== true && + $this->config->item('abmeldung_stg_enabled') !== true && + $this->config->item('unterbrechung_enabled') !== true && + $this->config->item('wiederholung_enabled') !== true) + return $this->logError('Konnte Job nicht starten: Keine der Configs "abmeldung_stg_enabled", "abmeldung_enabled", "unterbrechung_enabled", "wiederholung_enabled" auf true gesetzt'); + $this->load->model('person/Person_model', 'PersonModel'); $this->logInfo('Start Job sendStglSammelmail'); @@ -47,25 +54,38 @@ class AntragJob extends JOB_Controller $this->load->model('organisation/Studiengang_model', 'StudiengangModel'); $this->StudierendenantragModel->addJoin('public.tbl_prestudent', 'prestudent_id'); - $this->db->group_start(); - $this->db->where('typ', Studierendenantrag_model::TYP_ABMELDUNG); - $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED); - $this->db->group_end(); - $this->db->or_group_start(); - $this->db->where('typ', Studierendenantrag_model::TYP_ABMELDUNG_STGL); - $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED); - $this->db->group_end(); + if ($this->config->item('abmeldung_enabled') === true) + { + $this->db->group_start(); + $this->db->where('typ', Studierendenantrag_model::TYP_ABMELDUNG); + $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED); + $this->db->group_end(); + } - $this->db->or_group_start(); - $this->db->where('typ', Studierendenantrag_model::TYP_UNTERBRECHUNG); - $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED); - $this->db->group_end(); + if ($this->config->item('abmeldung_stg_enabled') === true) + { + $this->db->or_group_start(); + $this->db->where('typ', Studierendenantrag_model::TYP_ABMELDUNG_STGL); + $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED); + $this->db->group_end(); + } - $this->db->or_group_start(); - $this->db->where('typ', Studierendenantrag_model::TYP_WIEDERHOLUNG); - $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_LVSASSIGNED); - $this->db->group_end(); + if ($this->config->item('unterbrechung_enabled') === true) + { + $this->db->or_group_start(); + $this->db->where('typ', Studierendenantrag_model::TYP_UNTERBRECHUNG); + $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED); + $this->db->group_end(); + } + + if ($this->config->item('wiederholung_enabled') === true) + { + $this->db->or_group_start(); + $this->db->where('typ', Studierendenantrag_model::TYP_WIEDERHOLUNG); + $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_LVSASSIGNED); + $this->db->group_end(); + } $result = $this->StudierendenantragModel->load(); if(isError($result)) @@ -206,6 +226,10 @@ class AntragJob extends JOB_Controller public function sendReminderWiedereinstieg() { $now = new DateTime(); + + if ($this->config->item('unterbrechung_enabled') !== true) + return $this->logError('Konnte Job nicht starten: Config "unterbrechung_enabled" nicht auf true gesetzt'); + $modifier = $this->config->item('unterbrechung_job_remind_wiedereinstieg_date_modifier'); if (!$modifier) @@ -363,6 +387,13 @@ class AntragJob extends JOB_Controller { $this->logInfo('Start Job handleWiederholerDeadline'); + if ($this->config->item('wiederholung_enabled') !== true) + { + $this->logError('Config "wiederholung_enabled" nicht auf true gesetzt'); + $this->logInfo('Ende Job handleWiederholerDeadline'); + return; + } + $this->load->library('PrestudentLib'); $insertvon = $this->config->item('antrag_job_systemuser'); @@ -481,6 +512,13 @@ class AntragJob extends JOB_Controller { $this->logInfo('Start Job handleAbmeldungenStglDeadline'); + if ($this->config->item('abmeldung_stg_enabled') !== true) + { + $this->logError('Config "abmeldung_stg_enabled" nicht auf true gesetzt'); + $this->logInfo('Ende Job handleAbmeldungenStglDeadline'); + return; + } + $insertvon = $this->config->item('antrag_job_systemuser'); if (!$insertvon) { $this->logError('Config "antrag_job_systemuser" nicht gesetzt'); @@ -614,6 +652,13 @@ class AntragJob extends JOB_Controller { $this->logInfo('Start Job sendAufforderungWiederholer'); + if ($this->config->item('wiederholung_enabled') !== true) + { + $this->logError('Config "wiederholung_enabled" nicht auf true gesetzt'); + $this->logInfo('Ende Job sendAufforderungWiederholer'); + return; + } + $modifier_request_1 = $this->config->item('wiederholung_job_request_1_date_modifier'); $modifier_request_2 = $this->config->item('wiederholung_job_request_2_date_modifier'); $modifier_deadline = $this->config->item('wiederholung_job_deadline_date_modifier'); diff --git a/application/controllers/lehre/Studierendenantrag.php b/application/controllers/lehre/Studierendenantrag.php index 107c9af96..ebc1d2eaa 100644 --- a/application/controllers/lehre/Studierendenantrag.php +++ b/application/controllers/lehre/Studierendenantrag.php @@ -28,7 +28,9 @@ class Studierendenantrag extends FHC_Controller 'studierendenantrag' ]); - if (strtolower($this->router->method) === 'leitung') + $this->load->config('studierendenantrag'); + + if (strtolower($this->router->method) === 'leitung') $this->_isAllowed([ 'leitung' => ['student/studierendenantrag:r', 'student/antragfreigabe:r'] ]); @@ -54,18 +56,27 @@ class Studierendenantrag extends FHC_Controller 'bezeichnungStg' => $antrag->bezeichnung, 'bezeichnungOrgform' => $antrag->orgform ); - - $result = $this->antraglib->getPrestudentWiederholungsBerechtigt($antrag->prestudent_id); - if (getData($result) == 1) - $prestudentenArr[$antrag->prestudent_id]['allowedNewTypes'][] = 'Wiederholung'; - $result = $this->antraglib->getPrestudentUnterbrechungsBerechtigt($antrag->prestudent_id); - if (getData($result) == 1) - $prestudentenArr[$antrag->prestudent_id]['allowedNewTypes'][] = 'Unterbrechung'; + if ($this->config->item('wiederholung_enabled') === true) + { + $result = $this->antraglib->getPrestudentWiederholungsBerechtigt($antrag->prestudent_id); + if (getData($result) == 1) + $prestudentenArr[$antrag->prestudent_id]['allowedNewTypes'][] = 'Wiederholung'; + } - $result = $this->antraglib->getPrestudentAbmeldeBerechtigt($antrag->prestudent_id); - if (getData($result) == 1) - $prestudentenArr[$antrag->prestudent_id]['allowedNewTypes'][] = 'Abmeldung'; + if ($this->config->item('unterbrechung_enabled') === true) + { + $result = $this->antraglib->getPrestudentUnterbrechungsBerechtigt($antrag->prestudent_id); + if (getData($result) == 1) + $prestudentenArr[$antrag->prestudent_id]['allowedNewTypes'][] = 'Unterbrechung'; + } + + if ($this->config->item('abmeldung_enabled') === true) + { + $result = $this->antraglib->getPrestudentAbmeldeBerechtigt($antrag->prestudent_id); + if (getData($result) == 1) + $prestudentenArr[$antrag->prestudent_id]['allowedNewTypes'][] = 'Abmeldung'; + } } if ($antrag->studierendenantrag_id == null) continue; @@ -88,45 +99,59 @@ class Studierendenantrag extends FHC_Controller $this->load->view('lehre/Antrag/Leitung/List', [ 'stgA' => $stgA, - 'stgL' => $stgL + 'stgL' => $stgL, + 'abmeldung_enabled' => $this->config->item('abmeldung_stg_enabled') ]); } public function abmeldung($prestudent_id, $studierendenantrag_id = null) { - $this->load->view('lehre/Antrag/Create', [ - 'prestudent_id' => $prestudent_id, - 'studierendenantrag_id' => $studierendenantrag_id, - 'antrag_type' => 'Abmeldung' - ]); + if ($this->config->item('abmeldung_enabled') === true) + { + $this->load->view('lehre/Antrag/Create', [ + 'prestudent_id' => $prestudent_id, + 'studierendenantrag_id' => $studierendenantrag_id, + 'antrag_type' => 'Abmeldung' + ]); + } } public function abmeldungstgl($prestudent_id, $studierendenantrag_id = null) { - $this->load->view('lehre/Antrag/Create', [ - 'prestudent_id' => $prestudent_id, - 'studierendenantrag_id' => $studierendenantrag_id, - 'antrag_type' => 'AbmeldungStgl' - ]); + if ($this->config->item('abmeldung_stg_enabled') === true) + { + $this->load->view('lehre/Antrag/Create', [ + 'prestudent_id' => $prestudent_id, + 'studierendenantrag_id' => $studierendenantrag_id, + 'antrag_type' => 'AbmeldungStgl' + ]); + } } public function unterbrechung($prestudent_id, $studierendenantrag_id = null) { - $this->load->view('lehre/Antrag/Create', [ - 'prestudent_id' => $prestudent_id, - 'studierendenantrag_id' => $studierendenantrag_id, - 'antrag_type' => 'Unterbrechung' - ]); + if ($this->config->item('unterbrechung_enabled') === true) + { + $this->load->view('lehre/Antrag/Create', [ + 'prestudent_id' => $prestudent_id, + 'studierendenantrag_id' => $studierendenantrag_id, + 'antrag_type' => 'Unterbrechung' + ]); + } + } public function wiederholung($prestudent_id, $studierendenantrag_id = null) { - $this->load->view('lehre/Antrag/Create', [ - 'prestudent_id' => $prestudent_id, - 'studierendenantrag_id' => $studierendenantrag_id, - 'antrag_type' => 'Wiederholung' - ]); + if ($this->config->item('wiederholung_enabled') === true) + { + $this->load->view('lehre/Antrag/Create', [ + 'prestudent_id' => $prestudent_id, + 'studierendenantrag_id' => $studierendenantrag_id, + 'antrag_type' => 'Wiederholung' + ]); + } } /** diff --git a/application/libraries/AntragLib.php b/application/libraries/AntragLib.php index 3d8a2ea26..35edc826c 100644 --- a/application/libraries/AntragLib.php +++ b/application/libraries/AntragLib.php @@ -1657,7 +1657,7 @@ class AntragLib $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere($where); if (isError($result)) - return $result; + return $result; if (!hasData($result)) return error($this->_ci->p->t('studierendenantrag', "error_no_antrag_found", ['id' => $studierendenantrag_id])); @@ -1709,6 +1709,7 @@ class AntragLib $result->statustyp = $antrag->statustyp; $result->status_insertvon = $antrag->status_insertvon; $result->grund = $antrag->grund; + $result->status_grund = $antrag->status_grund; $result->studierendenantrag_id = $antrag->studierendenantrag_id; $result->typ = $antrag->typ; $result->datum = $antrag->datum; diff --git a/application/models/education/Studierendenantrag_model.php b/application/models/education/Studierendenantrag_model.php index 677d01f04..40224ffc9 100644 --- a/application/models/education/Studierendenantrag_model.php +++ b/application/models/education/Studierendenantrag_model.php @@ -149,6 +149,7 @@ class Studierendenantrag_model extends DB_Model $this->addSelect($this->dbTable . '.grund AS grund'); $this->addSelect('s.studierendenantrag_statustyp_kurzbz status'); $this->addSelect('s.insertvon status_insertvon'); + $this->addSelect('s.grund AS status_grund'); $this->addSelect('t.bezeichnung[(' . $lang . ')] statustyp'); $this->addSelect('p.unruly AS unruly'); $this->addSelect($this->dbTable . '.insertamum AS insertamum'); @@ -269,6 +270,7 @@ class Studierendenantrag_model extends DB_Model $this->addSelect($this->dbTable . '.grund'); $this->addSelect($this->dbTable . '.dms_id'); $this->addSelect('s.insertvon AS status_insertvon'); + $this->addSelect('s.grund AS status_grund'); $this->addSelect( "(SELECT count(1) FROM campus.tbl_studierendenantrag_status WHERE studierendenantrag_id = " . $this->dbTable . diff --git a/application/models/education/Studierendenantragstatus_model.php b/application/models/education/Studierendenantragstatus_model.php index cf9cce1be..354af7491 100644 --- a/application/models/education/Studierendenantragstatus_model.php +++ b/application/models/education/Studierendenantragstatus_model.php @@ -50,7 +50,7 @@ class Studierendenantragstatus_model extends DB_Model $this->addSelect('bezeichnung[(' . $lang . ')] AS typ'); $this->addJoin('campus.tbl_studierendenantrag_statustyp', 'studierendenantrag_statustyp_kurzbz'); - + $this->addOrder($this->dbTable. '.insertamum', 'DESC'); return $this->loadWhere($where); } diff --git a/application/views/lehre/Antrag/Leitung/List.php b/application/views/lehre/Antrag/Leitung/List.php index 1225b16b6..e7d3a47f1 100644 --- a/application/views/lehre/Antrag/Leitung/List.php +++ b/application/views/lehre/Antrag/Leitung/List.php @@ -44,6 +44,7 @@ $this->load->view( diff --git a/content/statistik/notenspiegel_erweitert.php b/content/statistik/notenspiegel_erweitert.php index 67097ed22..264324154 100644 --- a/content/statistik/notenspiegel_erweitert.php +++ b/content/statistik/notenspiegel_erweitert.php @@ -95,37 +95,37 @@ foreach ($result_student as $row) if ($uids == '') die('Es befinden sich keine Studierende in diesem Semester'); -$qry = "SELECT - lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, ects - FROM - lehre.tbl_lehrveranstaltung - WHERE - lehrveranstaltung_id IN - ( - SELECT - distinct lehrveranstaltung_id - FROM - campus.vw_student_lehrveranstaltung, public.tbl_studentlehrverband - WHERE - tbl_studentlehrverband.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND - tbl_studentlehrverband.semester=".$db->db_add_param($semester, FHC_INTEGER)." AND - vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND - uid=student_uid AND - vw_student_lehrveranstaltung.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz +$qry = "SELECT + lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, ects + FROM + lehre.tbl_lehrveranstaltung + WHERE + lehrveranstaltung_id IN ( + SELECT + DISTINCT lehrveranstaltung_id + FROM + campus.vw_student_lehrveranstaltung + JOIN public.tbl_studentlehrverband ON(student_uid = uid) + WHERE + tbl_studentlehrverband.studiengang_kz = ".$db->db_add_param($studiengang_kz, FHC_INTEGER)." + AND tbl_studentlehrverband.semester = ".$db->db_add_param($semester, FHC_INTEGER)." + AND vw_student_lehrveranstaltung.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." + AND vw_student_lehrveranstaltung.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz ) - AND studiengang_kz<>0 + AND studiengang_kz != 0 AND zeugnis - UNION - SELECT - lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, ects - FROM - lehre.tbl_lehrveranstaltung JOIN lehre.tbl_zeugnisnote USING(lehrveranstaltung_id) - WHERE - tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND - tbl_zeugnisnote.student_uid in($uids) AND - tbl_zeugnisnote.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND - zeugnis - ORDER BY bezeichnung"; + UNION + SELECT + lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, ects + FROM + lehre.tbl_lehrveranstaltung + JOIN lehre.tbl_zeugnisnote USING(lehrveranstaltung_id) + WHERE + tbl_lehrveranstaltung.studiengang_kz = ".$db->db_add_param($studiengang_kz, FHC_INTEGER)." + AND tbl_zeugnisnote.student_uid IN ($uids) + AND tbl_zeugnisnote.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." + AND zeugnis + ORDER BY bezeichnung"; if (!$result_lva = $db->db_query($qry)) die('Fehler beim Ermitteln der Lehrveranstaltungen'); @@ -338,6 +338,10 @@ if ($typ == 'xls') } $anzahl_lvspalten = $spalte - 2; + $worksheet->write($zeile, ++$spalte, 'ECTS Summe zugeteilt', $format_bold); + $maxlength[$spalte] = 20; + $worksheet->write($zeile, ++$spalte, 'ECTS Summe gewichtet', $format_bold); + $maxlength[$spalte] = 20; $worksheet->write($zeile, ++$spalte, 'Notendurchschnitt', $format_bold); $maxlength[$spalte] = 15; $worksheet->write($zeile, ++$spalte, "Gewichteter\nNotendurchschnitt", $format_bold_wrap); @@ -372,9 +376,12 @@ if ($typ == 'xls') $worksheet->write($zeile, ++$spalte, $row_student->gruppe, $format_bold_left); $worksheet->write($zeile, ++$spalte, $row_student->matrikelnr, $format_bold); - //Alle Zeugnisnoten des Studierenden holen + // Alle Zeugnisnoten des Studierenden holen $noten = array(); - $qry = "SELECT * FROM lehre.tbl_zeugnisnote WHERE student_uid=".$db->db_add_param($row_student->uid)." AND studiensemester_kurzbz=".$db->db_add_param($semester_aktuell); + $qry = "SELECT lehrveranstaltung_id, note + FROM lehre.tbl_zeugnisnote + WHERE student_uid = ".$db->db_add_param($row_student->uid)." + AND studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell); if ($result = $db->db_query($qry)) while ($row = $db->db_fetch_object($result)) $noten[$row->lehrveranstaltung_id] = $row->note; @@ -382,15 +389,16 @@ if ($typ == 'xls') //Zu jeder Lehrveranstaltungsnote Prüfungstyp (Anzahl der Antritte) holen $pruefungstypen = array(); $qry = "SELECT tbl_lehrveranstaltung.lehrveranstaltung_id, pruefungstyp_kurzbz, sort, datum - FROM - lehre.tbl_pruefung - JOIN - lehre.tbl_lehreinheit using(lehreinheit_id) - JOIN - lehre.tbl_lehrveranstaltung using(lehrveranstaltung_id) - WHERE - student_uid=".$db->db_add_param($row_student->uid)." AND studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." - ORDER BY lehrveranstaltung_id, sort, datum"; + FROM + lehre.tbl_pruefung + JOIN + lehre.tbl_lehreinheit USING(lehreinheit_id) + JOIN + lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + WHERE + student_uid = ".$db->db_add_param($row_student->uid)." + AND studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." + ORDER BY lehrveranstaltung_id, sort, datum"; if ($result = $db->db_query($qry)) { while ($row = $db->db_fetch_object($result)) @@ -399,15 +407,14 @@ if ($typ == 'xls') } } - //Alle LVs holen zu denen der Studierende zugeteilt ist + // Alle LVs holen zu denen der Studierende zugeteilt ist $zugeteilte_lvs = array(); - $qry = "SELECT distinct lehrveranstaltung_id - FROM - campus.vw_student_lehrveranstaltung - WHERE - uid=".$db->db_add_param($row_student->uid)." AND - studiensemester_kurzbz=".$db->db_add_param($semester_aktuell); - + $qry = "SELECT DISTINCT lehrveranstaltung_id + FROM + campus.vw_student_lehrveranstaltung + WHERE + uid = ".$db->db_add_param($row_student->uid)." + AND studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell); if ($result = $db->db_query($qry)) while ($row = $db->db_fetch_object($result)) $zugeteilte_lvs[] = $row->lehrveranstaltung_id; @@ -416,17 +423,20 @@ if ($typ == 'xls') $summe = 0; $rowcount = 0; $summeects = 0; + $total_ects = 0; $gewichtetenote = 0; while ($rowcount < $db->db_num_rows($result_lva)) { $row_lva = $db->db_fetch_object($result_lva, $rowcount); $rowcount++; + //wenn es eine Note gibt if (isset($noten[$row_lva->lehrveranstaltung_id])) { $note = $noten[$row_lva->lehrveranstaltung_id]; $format = 0; + $total_ects += $row_lva->ects; //wenn für die LV der Studierende eine Nachprüfung hat (z.B. 2 Termin, kommissionelle...) if (isset($pruefungstypen[$row_lva->lehrveranstaltung_id])) @@ -472,6 +482,7 @@ if ($typ == 'xls') //Keine Note fuer diese LV vorhanden if (in_array($row_lva->lehrveranstaltung_id, $zugeteilte_lvs)) { + $total_ects += $row_lva->ects; $worksheet->write($zeile, ++$spalte, '', $format_colored_nichteingetragen); } else @@ -489,6 +500,8 @@ if ($typ == 'xls') if ($summeects != 0) $gewichtetenote /= $summeects; + $worksheet->write($zeile, ++$spalte, sprintf("%.2f", $total_ects), $format_number); + $worksheet->write($zeile, ++$spalte, sprintf("%.2f", $summeects), $format_number); $worksheet->write($zeile, ++$spalte, sprintf("%.2f", $schnitt), $format_number); $worksheet->write($zeile, ++$spalte, sprintf("%.2f", $gewichtetenote), $format_number); if ($gewichtetenote != 0) @@ -529,6 +542,8 @@ if ($typ == 'xls') $schnitt = $summe_schnitt / $anzahl_schnitt; else $schnitt = 0; + $worksheet->write($zeile, ++$spalte, '-', $format_bold_center); + $worksheet->write($zeile, ++$spalte, '-', $format_bold_center); $worksheet->write($zeile, ++$spalte, sprintf("%.2f", $schnitt), $format_number); if ($anzahlgewichtet != 0) $summegewichtet = $summegewichtet / $anzahlgewichtet; diff --git a/public/js/components/Studierendenantrag/Form/Unterbrechung.js b/public/js/components/Studierendenantrag/Form/Unterbrechung.js index 20bda7138..7fab231ca 100644 --- a/public/js/components/Studierendenantrag/Form/Unterbrechung.js +++ b/public/js/components/Studierendenantrag/Form/Unterbrechung.js @@ -90,6 +90,17 @@ export default { msg, severity: this.statusSeverity }); + + if (this.data.status === 'Abgelehnt' && this.data?.status_grund?.trim()) + { + this.$emit('setInfos', [ + { + title: this.$p.t('studierendenantrag', 'status_grund_abgelehnt'), + body: this.data.status_grund, + severity: this.statusSeverity + } + ]); + } } return result; } diff --git a/public/js/components/Studierendenantrag/Leitung.js b/public/js/components/Studierendenantrag/Leitung.js index dc412c6c2..847ebf645 100644 --- a/public/js/components/Studierendenantrag/Leitung.js +++ b/public/js/components/Studierendenantrag/Leitung.js @@ -18,7 +18,8 @@ export default { }, props: { stgL: Array, - stgA: Array + stgA: Array, + abmeldung_enabled: Boolean }, data() { return { @@ -255,6 +256,7 @@ export default {
- + diff --git a/public/js/components/Studierendenantrag/Leitung/Table.js b/public/js/components/Studierendenantrag/Leitung/Table.js index fa5f50939..5b4320b33 100644 --- a/public/js/components/Studierendenantrag/Leitung/Table.js +++ b/public/js/components/Studierendenantrag/Leitung/Table.js @@ -55,7 +55,7 @@ export default { return this.$api .call(ApiStudstatusLeitung.getHistory(this.lastHistoryClickedId)) .then(res => { - this.historyData = res.data.sort((a, b) => a.insertamum > b.insertamum); + this.historyData = res.data; }) .catch(this.$fhcAlert.handleSystemError); }, diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 05bdfbbef..b1d4d34c6 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -24257,6 +24257,26 @@ array( ) ) ), + array( + 'app' => 'core', + 'category' => 'studierendenantrag', + 'phrase' => 'status_grund_abgelehnt', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Grund der Ablehnung:', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Reason for rejection:', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'studierendenantrag',