From e9b20283b52eb1f7a14bbb8ea3a8c98775d64f02 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Tue, 29 Oct 2019 14:53:40 +0100 Subject: [PATCH 1/2] Berechtigung in FAS einbauen --- content/student/studentDBDML.php | 11 ++++++++++- content/student/studentoverlay.js.php | 25 ++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 62c978c26..400560107 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -524,7 +524,16 @@ if(!$error) $prestudent->studiengang_kz = $_POST['studiengang_kz']; $prestudent->berufstaetigkeit_code = $_POST['berufstaetigkeit_code']; $prestudent->ausbildungcode = $_POST['ausbildungcode']; - $prestudent->zgv_code = $_POST['zgv_code']; + // Die Bachelor-ZGV darf nur mit einem eigenen Recht geändert werden + if($rechte->isBerechtigt('student/editBakkZgv',$_POST['studiengang_kz'],'suid')) + { + $prestudent->zgv_code = $_POST['zgv_code']; + } + elseif ($prestudent->zgv_code != $_POST['zgv_code']) + { + $errormsg = 'Keine Berechtigung zum Ändern der ZGV'; + $error = true; + } $prestudent->zgvort = $_POST['zgvort']; $prestudent->zgvdatum = $_POST['zgvdatum']; $prestudent->zgvnation = $_POST['zgvnation']; diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index ec9683b15..b40105988 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -23,6 +23,7 @@ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/variable.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); $user = get_uid(); @@ -1647,7 +1648,6 @@ function StudentPrestudentDisableFields(val) document.getElementById('student-prestudent-menulist-aufmerksamdurch').disabled=val; document.getElementById('student-prestudent-menulist-berufstaetigkeit').disabled=val; document.getElementById('student-prestudent-menulist-ausbildung').disabled=val; - document.getElementById('student-prestudent-menulist-zgvcode').disabled=val; document.getElementById('student-prestudent-textbox-zgvort').disabled=val; document.getElementById('student-prestudent-menulist-zgvnation').disabled=val; document.getElementById('student-prestudent-textbox-zgvdatum').disabled=val; @@ -1665,6 +1665,29 @@ function StudentPrestudentDisableFields(val) document.getElementById('student-prestudent-textbox-mentor').disabled=val; document.getElementById('student-detail-menulist-gsstudientyp').disabled=val; + // Studiengang des angeklickten Prestudenten ermitteln + var tree = document.getElementById('student-tree'); + var col = tree.columns ? tree.columns["student-treecol-studiengang_kz"] : "student-treecol-studiengang_kz"; + var studiengang_kz = parseInt(tree.view.getCellText(tree.currentIndex,col)); + + getBerechtigungen($user); + $studiengaenge = $rechte->getStgKz('student/editBakkZgv'); + // Anlegen eines Arrays mit allen berechtigten Stg-Kz + echo ' var berechtigte_studiengaenge = ['.implode(',',$studiengaenge).'];'; + ?> + + if (berechtigte_studiengaenge.indexOf(studiengang_kz) >= 0) + { + document.getElementById('student-prestudent-menulist-zgvcode').disabled=val; + } + else + { + document.getElementById('student-prestudent-menulist-zgvcode').disabled=true; + } + //Status Tree leeren rollentree = document.getElementById('student-prestudent-tree-rolle'); From 71aba3a78c503113b105416884e3b3e812baff11 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Wed, 30 Oct 2019 20:17:29 +0100 Subject: [PATCH 2/2] Recht in Checksystem --- system/checksystem.php | 1 + 1 file changed, 1 insertion(+) diff --git a/system/checksystem.php b/system/checksystem.php index 9f6915df0..04e76bb52 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -191,6 +191,7 @@ $berechtigungen = array( array('student/anrechnung','Anrechnungen des Studenten'), array('student/anwesenheit','Anwesenheiten im FAS'), array('student/dokumente','Wenn SUID dann dürfen Dokumente auch wieder entfernt werden'), + array('student/editBakkZgv','Bearbeiten der Bachelor ZGV eines PreStudenten'), array('student/noten','Notenverwaltung'), array('student/stammdaten','Stammdaten der Studenten'), array('student/vorrueckung','Studentenvorrückung'),