when user does not have permissions to accept/deny a profil update request it is notified via alert modal

This commit is contained in:
SimonGschnell
2024-02-07 14:21:25 +01:00
parent 286c7be83d
commit 9362aea0cf
5 changed files with 146 additions and 169 deletions
+2 -8
View File
@@ -46,15 +46,9 @@ class ProfilUpdate extends Auth_Controller
}
public function getProfilUpdates($status=null){
$this->load->library('PermissionLib');
$studentBerechtigung = $this->permissionlib->isBerechtigt('student/stammdaten','s');
$mitarbeiterBerechtigung = $this->permissionlib->isBerechtigt('mitarbeiter/stammdaten','s');
$options = ["mitarbeiterView"=>$mitarbeiterBerechtigung,"studentView"=>$studentBerechtigung];
if(isset($status)){
$options['status'] = $status;
}
$res = $this->ProfilChangeModel->getProfilUpdate($options);
$res = $this->ProfilChangeModel->getProfilUpdate(isset($status)?['status'=>$status]:null);
echo json_encode($res);
}
@@ -15,6 +15,8 @@ class Profil_change_model extends DB_Model
$this->load->model('crm/Student_model','StudentModel');
$this->load->model('ressource/Mitarbeiter_model','MitarbeiterModel');
$this->load->library('PermissionLib');
}
/**
@@ -53,8 +55,12 @@ class Profil_change_model extends DB_Model
* returns all profil updates if id is set to null
*/
public function getProfilUpdate($whereClause=null){
$studentBerechtigung = $this->permissionlib->isBerechtigt('student/stammdaten','s');
$mitarbeiterBerechtigung = $this->permissionlib->isBerechtigt('mitarbeiter/stammdaten','s');
$res =[];
if($whereClause["studentView"]) {
if($studentBerechtigung) {
$this->addJoin('tbl_student','tbl_student.student_uid=tbl_cis_profil_update.uid');
$studentRequests = $this->loadWhere(isset($whereClause['status']) && $whereClause['status']? ['status'=>$whereClause['status']]:[]);
if(isError($studentRequests)) return error("db error: ". getData($studentRequests));
@@ -63,7 +69,7 @@ class Profil_change_model extends DB_Model
array_push($res,$request);
}
}
if($whereClause["mitarbeiterView"]) {
if($mitarbeiterBerechtigung) {
$this->addJoin('tbl_mitarbeiter','tbl_mitarbeiter.mitarbeiter_uid=tbl_cis_profil_update.uid');
$mitarbeiterRequests = $this->loadWhere(isset($whereClause['status']) && $whereClause['status']? ['status'=>$whereClause['status']]:[]);
if(isError($mitarbeiterRequests)) return error("db error: ". getData($mitarbeiterRequests));