From 24a86e3816ae70493dd7609b3989e365e1dd3b98 Mon Sep 17 00:00:00 2001 From: Monique Hansma Date: Thu, 22 Oct 2026 13:08:30 +0200 Subject: [PATCH] berichten: beheerder ook herkennen buiten organisatie 'system' checkadmin() zocht het niveau op bij de gekozen organisatie (globorgid), waardoor een systeembeheerder in een andere organisatie geen berichten meer kon maken. Nu eerst $this->super (systeembeheerder/helpdesk); checkrechten() gebruikt dezelfde regel. Co-Authored-By: Claude Opus 5.5 --- application/controllers/monpas/Berichten.php | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/application/controllers/monpas/Berichten.php b/application/controllers/monpas/Berichten.php index 8a0b6d7..7dfee82 100644 --- a/application/controllers/monpas/Berichten.php +++ b/application/controllers/monpas/Berichten.php @@ -27,23 +27,15 @@ class Berichten extends MY_Controller { function checkrechten() { if ( ! $this->userid ) die; - $orguserid = $this->Orgusers_model->get_fieldvalue( array("user_id" => $this->userid, "organisatie_id" => $this->globorgid), "id" ); - $niveau = $this->Autorisaties_model->get_fieldvalue( array("orguser_id" => $orguserid), "nivo_id" ); - - if ( $niveau == 1 || $niveau == 2 ) - { - echo json_encode( TRUE ); - } - else - { - echo json_encode( FALSE ); - } + echo json_encode( $this->checkadmin() ); } - // beheerder = ingelogd met autorisatieniveau 1 of 2 (zelfde regel als checkrechten) + // beheerder = systeembeheerder/helpdesk (super, ongeacht gekozen organisatie) + // of niveau 1/2 bij de gekozen organisatie private function checkadmin(){ if ( ! $this->userid ) return FALSE; + if ( $this->super ) return TRUE; $orguserid = $this->Orgusers_model->get_fieldvalue( array("user_id" => $this->userid, "organisatie_id" => $this->globorgid), "id" ); $niveau = $this->Autorisaties_model->get_fieldvalue( array("orguser_id" => $orguserid), "nivo_id" );