From ed39127f319421d8707e8d1170608ee761508f16 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Tue, 13 Aug 2024 16:00:03 +0200 Subject: [PATCH 001/323] add tags for berufliche Kompetenzen --- rdf/diplomasupplement.xml.php | 119 ++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/rdf/diplomasupplement.xml.php b/rdf/diplomasupplement.xml.php index 189aa0c05..d0b26ac40 100644 --- a/rdf/diplomasupplement.xml.php +++ b/rdf/diplomasupplement.xml.php @@ -653,7 +653,115 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") } echo ' '; + //Berufliche Kompetenzen + $studienplan = new studienplan(); + $studienplan->loadStudienplan($studienplan_id); + $regelstudiendauer = $studienplan->regelstudiendauer; + $ects_berufliche_kompetenzen = 0; + + //bei masterlehrgängen 120ECTS bzw regelstudienzeit >= 4 sem: Andruck der beruflichen Kompetenzen + + //Version notenunabhängig +/* if ($row->typ == 'l' && $regelstudiendauer >= 4) + { + echo ''; + //echo ''.$row->typ . ' '. $regelstudiendauer. ''; + echo 'Validierung beruflicher Kompetenzen'; + $qry_sem_0=" + SELECT + lehrveranstaltung_id, + lehrform_kurzbz, + sws, + bezeichnung, + bezeichnung_english, + ects + FROM + lehre.tbl_studienplan_lehrveranstaltung sp + JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) + WHERE + studienplan_id = ".$db->db_add_param($studienplan_id)." + AND + sp.semester = '0' + "; + + if($result_sem_0 = $db->db_query($qry_sem_0)) + { + while ($row_sem_0 = $db->db_fetch_object($result_sem_0)) + { + echo ' + ' . $row_sem_0->lehrveranstaltung_id . ' + ' . $row_sem_0->lehrform_kurzbz .' + bezeichnung .']]> + bezeichnung_english . ']]> + '.$row_sem_0->sws.' + '.$row_sem_0->ects.' + 1 + - + - + '; + } + } + echo ''; + }*/ + + //Version mit Noten + if ($row->typ == 'l' && $regelstudiendauer >= 4) + { + $ects_berufliche_kompetenzen = 30; + echo ''; + //echo ''.$row->typ . ' '. $regelstudiendauer. ''; + echo 'Validierung beruflicher Kompetenzen'; + //TODO(Manu) check if information somewhere in DB + echo ''.$ects_berufliche_kompetenzen.''; + $qry_sem_0=" + SELECT + lehrveranstaltung_id, + lehrform_kurzbz, + sws, + lehre.tbl_lehrveranstaltung.bezeichnung, + bezeichnung_english, + ects, + benotungsdatum, + note, + positiv, + offiziell, + note.anmerkung + FROM + lehre.tbl_zeugnisnote zeugnis + JOIN lehre.tbl_note note USING(note) + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + JOIN public.tbl_student student USING(student_uid) + WHERE + student_uid =".$db->db_add_param($uid_arr[$i])." + AND + lehre.tbl_lehrveranstaltung.semester = '0' + "; + + if($result_sem_0 = $db->db_query($qry_sem_0)) + { + while ($row_sem_0 = $db->db_fetch_object($result_sem_0)) + { + $benotungsdatum = $datum->formatDatum($row_sem_0->benotungsdatum, 'd/m/Y'); + $note = $db->db_parse_bool($row_sem_0->offiziell) ? $row_sem_0->anmerkung : $row_sem_0->note; + + echo ' + ' . $row_sem_0->lehrveranstaltung_id . ' + ' . $row_sem_0->lehrform_kurzbz . ' + bezeichnung . ']]> + bezeichnung_english . ']]> + '.$row_sem_0->sws.' + '.$row_sem_0->ects.' + '.$db->db_parse_bool($row_sem_0->positiv).' + '.$note.' + '.$benotungsdatum.' + '; + } + } + echo ''; + } + echo ""; + for($start = $semesterNumberStart; $start <= $semesterNumberEnd; $start++) { $semester_ects = 0; @@ -676,6 +784,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") AND zeugnis = true AND status.ausbildungssemester = ".$db->db_add_param($start)." AND status.status_kurzbz NOT IN('Unterbrecher', 'Interessent','Bewerber','Aufgenommener','Abgewiesener','Wartender') + --AND lehre.tbl_lehrveranstaltung.semester != '0' ORDER BY datum ASC"; $semester_kurzbz = array(); @@ -724,6 +833,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") WHERE student_uid = ".$db->db_add_param($uid_arr[$i])." AND zeugnis = true + AND lehre.tbl_lehrveranstaltung.semester != '0' AND studiensemester_kurzbz in (".$sqlStudent->implode4SQL($aktuellesSemester).")"; if (defined('ZEUGNISNOTE_NICHT_ANZEIGEN')) @@ -1082,10 +1192,19 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") } } } + echo ''.$semester_ects.''; echo ''.$semester_ects_positiv.''; echo ""; } + + //Korrektur ects_total um berufliche Kompetenzen + if ($row->typ == 'l' && $regelstudiendauer >= 4) + { + $ects_total += $ects_berufliche_kompetenzen; + $ects_total_positiv += $ects_berufliche_kompetenzen; + } + echo ""; echo " $ects_total"; echo " $ects_total_positiv"; From 738c8192726efdd19feceb825d5e378bf8a68836 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Fri, 30 Aug 2024 13:32:00 +0200 Subject: [PATCH 002/323] remove comments --- rdf/diplomasupplement.xml.php | 52 +++-------------------------------- 1 file changed, 4 insertions(+), 48 deletions(-) diff --git a/rdf/diplomasupplement.xml.php b/rdf/diplomasupplement.xml.php index d0b26ac40..96636836d 100644 --- a/rdf/diplomasupplement.xml.php +++ b/rdf/diplomasupplement.xml.php @@ -657,61 +657,17 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $studienplan = new studienplan(); $studienplan->loadStudienplan($studienplan_id); $regelstudiendauer = $studienplan->regelstudiendauer; + $studienplan_ects = $studienplan->ects_stpl; $ects_berufliche_kompetenzen = 0; - //bei masterlehrgängen 120ECTS bzw regelstudienzeit >= 4 sem: Andruck der beruflichen Kompetenzen - - //Version notenunabhängig -/* if ($row->typ == 'l' && $regelstudiendauer >= 4) - { - echo ''; - //echo ''.$row->typ . ' '. $regelstudiendauer. ''; - echo 'Validierung beruflicher Kompetenzen'; - $qry_sem_0=" - SELECT - lehrveranstaltung_id, - lehrform_kurzbz, - sws, - bezeichnung, - bezeichnung_english, - ects - FROM - lehre.tbl_studienplan_lehrveranstaltung sp - JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) - WHERE - studienplan_id = ".$db->db_add_param($studienplan_id)." - AND - sp.semester = '0' - "; - - if($result_sem_0 = $db->db_query($qry_sem_0)) - { - while ($row_sem_0 = $db->db_fetch_object($result_sem_0)) - { - echo ' - ' . $row_sem_0->lehrveranstaltung_id . ' - ' . $row_sem_0->lehrform_kurzbz .' - bezeichnung .']]> - bezeichnung_english . ']]> - '.$row_sem_0->sws.' - '.$row_sem_0->ects.' - 1 - - - - - '; - } - } - echo ''; - }*/ - - //Version mit Noten + //bei masterlehrgängen und $studienplan_ects >= 120 ECTS: Andruck der beruflichen Kompetenzen, wenn die Lv angerechnet wurde if ($row->typ == 'l' && $regelstudiendauer >= 4) { $ects_berufliche_kompetenzen = 30; echo ''; - //echo ''.$row->typ . ' '. $regelstudiendauer. ''; + echo ''.$row->typ . ' '. $studienplan_ects . ''; echo 'Validierung beruflicher Kompetenzen'; - //TODO(Manu) check if information somewhere in DB + echo ''.$ects_berufliche_kompetenzen.''; $qry_sem_0=" SELECT From 1dba4be23f4e7da2e571c64f9dbe42a3c3a39b5b Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 17 Feb 2025 13:31:57 +0100 Subject: [PATCH 003/323] - studsatus ablaeufe einzelen aktivieren/deaktivieren - history absteigend sortiert --- application/config/studierendenantrag.php | 29 ++++++ application/controllers/jobs/AntragJob.php | 77 ++++++++++++---- .../controllers/lehre/Studierendenantrag.php | 89 ++++++++++++------- application/libraries/AntragLib.php | 1 + .../views/lehre/Antrag/Leitung/List.php | 1 + .../components/Studierendenantrag/Leitung.js | 4 +- .../Studierendenantrag/Leitung/Actions.js | 5 +- .../Studierendenantrag/Leitung/Table.js | 2 +- 8 files changed, 156 insertions(+), 52 deletions(-) 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 11b950174..4419997ec 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)) @@ -203,6 +223,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) return $this->logError('Konnte Job nicht starten: Config "unterbrechung_job_remind_wiedereinstieg_date_modifiers" nicht gesetzt'); @@ -276,6 +300,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'); @@ -394,6 +425,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'); @@ -527,6 +565,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 885acac90..e476b28d8 100644 --- a/application/libraries/AntragLib.php +++ b/application/libraries/AntragLib.php @@ -1937,6 +1937,7 @@ class AntragLib public function getAntragHistory($antrag_id) { + $this->_ci->StudierendenantragstatusModel->addOrder('insertamum', 'DESC'); $result = $this->_ci->StudierendenantragstatusModel->loadWithTypWhere([ 'studierendenantrag_id' => $antrag_id ]); 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/public/js/components/Studierendenantrag/Leitung.js b/public/js/components/Studierendenantrag/Leitung.js index 36e3a505d..fd7f5c99a 100644 --- a/public/js/components/Studierendenantrag/Leitung.js +++ b/public/js/components/Studierendenantrag/Leitung.js @@ -15,7 +15,8 @@ export default { }, props: { stgL: Array, - stgA: Array + stgA: Array, + abmeldung_enabled: Boolean }, data() { return { @@ -230,6 +231,7 @@ export default {
- + diff --git a/public/js/components/Studierendenantrag/Leitung/Table.js b/public/js/components/Studierendenantrag/Leitung/Table.js index 8201462b4..a6737ffd7 100644 --- a/public/js/components/Studierendenantrag/Leitung/Table.js +++ b/public/js/components/Studierendenantrag/Leitung/Table.js @@ -53,7 +53,7 @@ export default { return this.$fhcApi.factory .studstatus.leitung.getHistory(this.lastHistoryClickedId) .then(res => { - this.historyData = res.data.sort((a, b) => a.insertamum > b.insertamum); + this.historyData = res.data; }) .catch(this.$fhcApi.handleSystemError); }, From 92a08cebad46d3c0616d336e83f34d44c35dc668 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 17 Feb 2025 13:47:07 +0100 Subject: [PATCH 004/323] - addOrder ins model verschoben --- application/libraries/AntragLib.php | 1 - application/models/education/Studierendenantragstatus_model.php | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/application/libraries/AntragLib.php b/application/libraries/AntragLib.php index e476b28d8..885acac90 100644 --- a/application/libraries/AntragLib.php +++ b/application/libraries/AntragLib.php @@ -1937,7 +1937,6 @@ class AntragLib public function getAntragHistory($antrag_id) { - $this->_ci->StudierendenantragstatusModel->addOrder('insertamum', 'DESC'); $result = $this->_ci->StudierendenantragstatusModel->loadWithTypWhere([ 'studierendenantrag_id' => $antrag_id ]); 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); } From 60e403a28b9e8d9cd5c429b4d06ec027eb8135d2 Mon Sep 17 00:00:00 2001 From: SimonGschnell Date: Mon, 11 Aug 2025 14:18:51 +0200 Subject: [PATCH 005/323] update(Studium Phrases): inserts phrases for the studium component --- .../controllers/api/frontend/v1/Studium.php | 31 +++--- public/js/components/Cis/Mylv/LvUebersicht.js | 2 +- public/js/components/Cis/Studium/Studium.js | 33 +++--- system/phrasesupdate.php | 102 ++++++++++++++++++ 4 files changed, 140 insertions(+), 28 deletions(-) diff --git a/application/controllers/api/frontend/v1/Studium.php b/application/controllers/api/frontend/v1/Studium.php index d17f0c1a1..dc72334a2 100644 --- a/application/controllers/api/frontend/v1/Studium.php +++ b/application/controllers/api/frontend/v1/Studium.php @@ -63,20 +63,21 @@ class Studium extends FHCAPI_Controller if($this->getDataOrTerminateWithError($this->StudentModel->isStudent(getAuthUID()))){ $studentLehrverband =$this->StudentlehrverbandModel->loadWhere(["student_uid" => getAuthUID(), "studiensemester_kurzbz" => $aktuelles_studiensemester->studiensemester_kurzbz]); $studentLehrverband = current($this->getDataOrTerminateWithError($studentLehrverband)); - - $student_studiensemester = $studentLehrverband->studiensemester_kurzbz; - $student_studiengang = $studentLehrverband->studiengang_kz; - $student_semester = $studentLehrverband->semester; - $student_studienplan = $this->getStudienPlanFromPrestudentStatus(getAuthPersonId())->studienplan_id; - - if(!isset($parameter_studiensemester)) - $parameter_studiensemester = $student_studiensemester; - if(!isset($parameter_studiengang)) - $parameter_studiengang = $student_studiengang; - if(!isset($parameter_semester)) - $parameter_semester = $student_semester; - if(!isset($parameter_studienplan)) - $parameter_studienplan = $student_studienplan; + if($studentLehrverband){ + $student_studiensemester = $studentLehrverband->studiensemester_kurzbz; + $student_studiengang = $studentLehrverband->studiengang_kz; + $student_semester = $studentLehrverband->semester; + $student_studienplan = $this->getStudienPlanFromPrestudentStatus(getAuthPersonId())->studienplan_id; + + if(!isset($parameter_studiensemester)) + $parameter_studiensemester = $student_studiensemester; + if(!isset($parameter_studiengang)) + $parameter_studiengang = $student_studiengang; + if(!isset($parameter_semester)) + $parameter_semester = $student_semester; + if(!isset($parameter_studienplan)) + $parameter_studienplan = $student_studienplan; + } } if(isset($parameter_studiensemester)){ @@ -216,6 +217,8 @@ class Studium extends FHCAPI_Controller $studienplaene = array_map(function($studienplan){ $orgform = current($this->getDataOrTerminateWithError($this->OrgformModel->loadWhere(["orgform_kurzbz" => $studienplan->orgform_kurzbz]))); $studienplan->orgform_bezeichnung = $orgform->bezeichnung; + // bezeichnung_mehrsprachig + $studienplan->orgform_bezeichnung_english = $orgform->bezeichnung_mehrsprachig[1]; return $studienplan; },$studienplaene); return $studienplaene; diff --git a/public/js/components/Cis/Mylv/LvUebersicht.js b/public/js/components/Cis/Mylv/LvUebersicht.js index 1ec93590f..df79275d0 100644 --- a/public/js/components/Cis/Mylv/LvUebersicht.js +++ b/public/js/components/Cis/Mylv/LvUebersicht.js @@ -100,7 +100,7 @@ export default { diff --git a/public/js/components/Cis/Studium/Studium.js b/public/js/components/Cis/Studium/Studium.js index 1b7aff81b..68221af62 100644 --- a/public/js/components/Cis/Studium/Studium.js +++ b/public/js/components/Cis/Studium/Studium.js @@ -195,7 +195,11 @@ export default { }, studiengangTitel(studiengang) { if (!studiengang) return ""; - return `${studiengang?.kurzbzlang} (${studiengang?.bezeichnung})`; + if(this.isGermanLanguage){ + return `${studiengang?.kurzbzlang} (${studiengang?.bezeichnung})`; + }else{ + return `${studiengang?.kurzbzlang} (${studiengang?.english})`; + } }, studiensemesterTitel(studiensemester){ if (!studiensemester) return ""; @@ -213,9 +217,12 @@ export default { }, computed:{ + isGermanLanguage(){ + return this.$p.user_language.value == "German" + }, selectedLehrveranstaltungTitel(){ const studiengang = this.studiengaenge.find((studiengang) => studiengang.studiengang_kz == this.selectedStudiengang); - return `${this.selectedLehrveranstaltung?.bezeichnung} ${this.selectedLehrveranstaltung?.lehrform_kurzbz} / ${studiengang.kurzbzlang}-${this.selectedSemester} ${this.selectedLehrveranstaltung?.orgform_kurzbz} (${this.selectedStudiensemester})`; + return `${this.isGermanLanguage ? this.selectedLehrveranstaltung?.bezeichnung : this.selectedLehrveranstaltung?.bezeichnung_english} ${this.selectedLehrveranstaltung?.lehrform_kurzbz} / ${studiengang.kurzbzlang}-${this.selectedSemester} ${this.selectedLehrveranstaltung?.orgform_kurzbz} (${this.selectedStudiensemester})`; }, computedStudienOrdnung(){ if(!this.studienOrdnung) return null; @@ -232,14 +239,14 @@ export default { let result = []; Object.entries(this.computedStudienOrdnung).forEach(([key,value])=>{ result.push({ - bezeichnung: `Studienordnung: ${key}`, + bezeichnung: `${this.$p.t('studium', 'studienordnung') }: ${key}`, disabled: true, }); value.forEach((studienplan)=>{ result.push({ studienplan:studienplan, diabled: false, - bezeichnung: `${studienplan?.bezeichnung}-${studienplan?.orgform_kurzbz} ( ${studienplan?.orgform_bezeichnung}, ${studienplan?.sprache} )` + bezeichnung: `${studienplan?.bezeichnung}-${studienplan?.orgform_kurzbz} ( ${this.isGermanLanguage ? studienplan?.orgform_bezeichnung : studienplan?.orgform_bezeichnung_english}, ${studienplan?.sprache} )` }); }) @@ -264,14 +271,14 @@ export default { }) }, - template: ` + template: /*html*/`
-

Studium

+

{{$p.t('studium','studium')}}