diff --git a/application/views/lehre/Antrag/Student/List.php b/application/views/lehre/Antrag/Student/List.php index 08fd513ac..724468024 100644 --- a/application/views/lehre/Antrag/Student/List.php +++ b/application/views/lehre/Antrag/Student/List.php @@ -101,8 +101,12 @@ $this->load->view( - typ != Studierendenantrag_model::TYP_WIEDERHOLUNG && $antrag->status == Studierendenantragstatus_model::STATUS_APPROVED) { ?> - + typ != Studierendenantrag_model::TYP_WIEDERHOLUNG && in_array($antrag->status, [ + Studierendenantragstatus_model::STATUS_APPROVED, + Studierendenantragstatus_model::STATUS_OBJECTED, + Studierendenantragstatus_model::STATUS_OBJECTION_DENIED + ])) { ?> + typ == Studierendenantrag_model::TYP_WIEDERHOLUNG && $antrag->status == Studierendenantragstatus_model::STATUS_APPROVED) { ?> p->t('studierendenantrag', 'btn_show_lvs'); ?> diff --git a/public/js/components/Studierendenantrag/Leitung/Table.js b/public/js/components/Studierendenantrag/Leitung/Table.js index be685bd80..f8af2818c 100644 --- a/public/js/components/Studierendenantrag/Leitung/Table.js +++ b/public/js/components/Studierendenantrag/Leitung/Table.js @@ -207,7 +207,7 @@ export default { container.className = "d-flex gap-2"; - if ((data.typ == 'Abmeldung' || data.typ == 'Unterbrechung') && (data.status == 'Genehmigt')) { + if ((data.typ == 'Abmeldung' || data.typ == 'AbmeldungStgl' || data.typ == 'Unterbrechung') && (data.status == 'Genehmigt' || data.status == 'Beeinsprucht' || data.status == 'EinspruchAbgelehnt')) { // NOTE(chris): Download PDF let button = document.createElement('a'); button.innerHTML = ''; diff --git a/rdf/AntragAbmeldungStgl.xml.php b/rdf/AntragAbmeldungStgl.xml.php new file mode 100644 index 000000000..b3d746fcb --- /dev/null +++ b/rdf/AntragAbmeldungStgl.xml.php @@ -0,0 +1,67 @@ +db_add_param($id) . " + AND campus.tbl_studierendenantrag.typ = 'AbmeldungStgl' AND campus.get_status_studierendenantrag(campus.tbl_studierendenantrag.studierendenantrag_id) IN ('Genehmigt', 'Beeinsprucht', 'EinspruchAbgelehnt');"; + $not_found_error = 'Studierendenantrag not found'. $id; + } elseif(isset($_GET['uid']) && isset($_GET['prestudent_id'])) { + $uid = $_GET['uid']; + $uid = explode(';', $uid); + $uid = (array_filter($uid, 'strlen')); + + $prestudent_id = $_GET['prestudent_id']; + $prestudent_id = explode(';', $prestudent_id); + $prestudent_id = (array_filter($prestudent_id, 'strlen')); + + $where = " WHERE campus.tbl_studierendenantrag.prestudent_id in (" . $db->db_implode4SQL($prestudent_id) . ") + AND campus.tbl_studierendenantrag.typ = 'AbmeldungStgl' AND campus.get_status_studierendenantrag(campus.tbl_studierendenantrag.studierendenantrag_id) IN ('Genehmigt', 'Beeinsprucht', 'EinspruchAbgelehnt');"; + $not_found_error = 'Studierendenantrag not found for: ' . implode(',', $uid); + } else + die('wrong parameters'); +} +else + die('Format not supported'); + + +$query = " + SELECT tbl_studiengang.bezeichnung, bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . ")], studierendenantrag_id, matrikelnr, studienjahr_kurzbz, vorname, nachname, studiengang_kz, public.get_absem_prestudent(prestudent_id, NULL) AS semester, tbl_studierendenantrag.grund + FROM + campus.tbl_studierendenantrag + JOIN public.tbl_student USING (prestudent_id) + JOIN public.tbl_benutzer ON tbl_student.student_uid=uid + JOIN public.tbl_person USING (person_id) + JOIN public.tbl_studiengang USING (studiengang_kz) + JOIN public.tbl_studiensemester USING (studiensemester_kurzbz) + JOIN bis.tbl_orgform ON (tbl_orgform.orgform_kurzbz = tbl_studiengang.orgform_kurzbz)" . $where; + + +if (!$db->db_query($query) || !$db->db_num_rows()) + die('' . $not_found_error . ''); + +?> + + + db_fetch_object()) { ?> + + bezeichnung;?> + bezeichnung_mehrsprachig;?> + vorname. " " . $row->nachname);?> + matrikelnr;?> + studienjahr_kurzbz;?> + semester;?> + grund;?> + + + diff --git a/system/vorlage_zip/AntragAbmeldungStgl.odt b/system/vorlage_zip/AntragAbmeldungStgl.odt new file mode 100644 index 000000000..2e11ca60a Binary files /dev/null and b/system/vorlage_zip/AntragAbmeldungStgl.odt differ