diff --git a/application/controllers/Studentenverwaltung.php b/application/controllers/Studentenverwaltung.php index 0c27f3aba..75faf2cba 100644 --- a/application/controllers/Studentenverwaltung.php +++ b/application/controllers/Studentenverwaltung.php @@ -26,8 +26,8 @@ class Studentenverwaltung extends FHC_Controller 'assistenz_stgs' => $this->permissionlib->getSTG_isEntitledFor('assistenz'), 'admin' => $this->permissionlib->isBerechtigt('admin'), 'assistenz_schreibrechte' => $this->permissionlib->isBerechtigt('assistenz','suid'), - 'student/keine_studstatuspruefung' => $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung') - + 'student/keine_studstatuspruefung' => $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung'), + 'lehre/reihungstestAufsicht' => $this->permissionlib->isBerechtigt('lehre/reihungstestAufsicht') ], 'variables' => [ 'semester_aktuell' => $this->variablelib->getVar('semester_aktuell') diff --git a/application/controllers/api/frontend/v1/stv/Status.php b/application/controllers/api/frontend/v1/stv/Status.php index 768e8e196..f85780141 100644 --- a/application/controllers/api/frontend/v1/stv/Status.php +++ b/application/controllers/api/frontend/v1/stv/Status.php @@ -484,8 +484,9 @@ class Status extends FHCAPI_Controller $isBerechtigtAdmin = $this->permissionlib->isBerechtigt('admin', null, 'suid'); $isBerechtigtNoStudstatusCheck = $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung', null, 'suid'); + $isBerechtigtToDeleteAbgewiesen = $this->permissionlib->isBerechtigt('lehre/reihungstestAufsicht') && $status_kurzbz == "Abgewiesener"; - if(!$this->permissionlib->isBerechtigt('admin', 'suid', $stg) && !$this->permissionlib->isBerechtigt('assistenz', 'suid', $stg)) + if(!$this->permissionlib->isBerechtigt('admin', 'suid', $stg) && !$this->permissionlib->isBerechtigt('assistenz', 'suid', $stg) && !$isBerechtigtToDeleteAbgewiesen) { return $this->terminateWithError($this->p->t('lehre','error_keineSchreibrechte'), self::ERROR_TYPE_GENERAL); } diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php index 0b198bb7d..109abafe3 100644 --- a/application/models/crm/Prestudent_model.php +++ b/application/models/crm/Prestudent_model.php @@ -764,9 +764,9 @@ class Prestudent_model extends DB_Model ps.updatevon FROM public.tbl_prestudentstatus ps - JOIN + LEFT JOIN public.tbl_student st USING (prestudent_id) - JOIN + LEFT JOIN public.tbl_studiengang sg ON (st.studiengang_kz = sg.studiengang_kz) LEFT JOIN lehre.tbl_studienplan sp USING (studienplan_id) diff --git a/public/js/components/Stv/Studentenverwaltung.js b/public/js/components/Stv/Studentenverwaltung.js index 2fe6c9713..5b4b117c5 100644 --- a/public/js/components/Stv/Studentenverwaltung.js +++ b/public/js/components/Stv/Studentenverwaltung.js @@ -54,6 +54,7 @@ export default { hasSchreibrechtAss: this.permissions['assistenz_schreibrechte'], hasAdminPermission: this.permissions['admin'], hasPermissionToSkipStatusCheck: this.permissions['student/keine_studstatuspruefung'], + hasPermissionRtAufsicht: this.permissions['lehre/reihungstestAufsicht'], lists: this.lists, defaultSemester: this.defaultSemester, $reloadList: () => { diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js b/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js index b1badff91..a0eb81491 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Prestudent/MultiStatus.js @@ -39,6 +39,10 @@ export default{ from: 'hasSchreibrechtAss', default: false }, + hasPermissionRtAufsicht: { + from: 'hasPermissionRtAufsicht', + default: false + }, $reloadList: { from: '$reloadList', required: true @@ -96,6 +100,10 @@ export default{ }, hasPermissionCurrentStg(){ return this.arrayStg.includes(this.studiengang_kz); + }, + isStatusBeforeStudent(){ + let isStatusStudent = ['Student', 'Absolvent', 'Diplomand']; + return !isStatusStudent.includes(this.statusData.status_kurzbz); } }, props: { @@ -669,6 +677,7 @@ export default{ mounted(){}, template: `