From 2e728462ca24e6c0d1c6210dab4b54a2b02169cf Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 13 Jun 2022 19:59:30 +0200 Subject: [PATCH] Gruppenmanager: - Berechtigung "lehre/gruppemanager" needed for managing groups - added column "aktiv" to benutzeroverview - group manager are deleted together with their group - check: generated groups cannot have manager --- .../person/Gruppenadministration.php | 36 +-- .../gruppenadministration/benutzergruppe.php | 1 + public/js/person/benutzergruppe.js | 7 +- system/dbupdate_3.3.php | 14 ++ vilesci/lehre/einheit_menu.php | 223 ++++++++++-------- 5 files changed, 166 insertions(+), 115 deletions(-) diff --git a/application/controllers/person/Gruppenadministration.php b/application/controllers/person/Gruppenadministration.php index 46862021c..c88c3565f 100644 --- a/application/controllers/person/Gruppenadministration.php +++ b/application/controllers/person/Gruppenadministration.php @@ -16,12 +16,12 @@ class Gruppenadministration extends Auth_Controller { parent::__construct( array( - 'index' => 'admin:r', - 'showBenutzergruppe' => 'admin:r', - 'getBenutzer' => 'admin:r', - 'getAllBenutzer' => 'admin:r', - 'addBenutzer' => 'admin:rw', - 'removeBenutzer' => 'admin:rw' + 'index' => 'lehre/gruppenmanager:r', + 'showBenutzergruppe' => 'lehre/gruppenmanager:r', + 'getBenutzer' => 'lehre/gruppenmanager:r', + 'getAllBenutzer' => 'lehre/gruppenmanager:r', + 'addBenutzer' => 'lehre/gruppenmanager:rw', + 'removeBenutzer' => 'lehre/gruppenmanager:rw' ) ); @@ -70,19 +70,19 @@ class Gruppenadministration extends Auth_Controller $data[self::FHC_CONTROLLER_ID] = $this->getControllerId(); - $this->BenutzergruppeModel->addSelect('uid, vorname, nachname'); - $this->BenutzergruppeModel->addJoin('public.tbl_benutzer', 'uid'); - $this->BenutzergruppeModel->addJoin('public.tbl_person', 'person_id'); - $benutzerRes = $this->BenutzergruppeModel->loadWhere(array('gruppe_kurzbz' => $gruppe_kurzbz)); - - if (isError($benutzerRes)) - show_error(getError($benutzerRes)); - - $benutzer = hasData($benutzerRes) ? getData($benutzerRes) : array(); + // $this->BenutzergruppeModel->addSelect('uid, vorname, nachname'); + // $this->BenutzergruppeModel->addJoin('public.tbl_benutzer', 'uid'); + // $this->BenutzergruppeModel->addJoin('public.tbl_person', 'person_id'); + // $benutzerRes = $this->BenutzergruppeModel->loadWhere(array('gruppe_kurzbz' => $gruppe_kurzbz)); + // + // if (isError($benutzerRes)) + // show_error(getError($benutzerRes)); + // + // $benutzer = hasData($benutzerRes) ? getData($benutzerRes) : array(); $this->load->view( 'person/gruppenadministration/benutzergruppe.php', - array('gruppe_kurzbz' => $gruppe_kurzbz, 'benutzer' => $benutzer) + array('gruppe_kurzbz' => $gruppe_kurzbz) ); } @@ -93,8 +93,8 @@ class Gruppenadministration extends Auth_Controller { $gruppe_kurzbz = $this->input->get('gruppe_kurzbz'); - $this->BenutzergruppeModel->addSelect('uid, vorname, nachname'); - $this->BenutzergruppeModel->addJoin('public.tbl_benutzer', 'uid'); + $this->BenutzergruppeModel->addSelect('uid, vorname, nachname, ben.aktiv'); + $this->BenutzergruppeModel->addJoin('public.tbl_benutzer ben', 'uid'); $this->BenutzergruppeModel->addJoin('public.tbl_person', 'person_id'); $benutzerRes = $this->BenutzergruppeModel->loadWhere(array('gruppe_kurzbz' => $gruppe_kurzbz)); diff --git a/application/views/person/gruppenadministration/benutzergruppe.php b/application/views/person/gruppenadministration/benutzergruppe.php index dbb009c0b..f0b63aba8 100644 --- a/application/views/person/gruppenadministration/benutzergruppe.php +++ b/application/views/person/gruppenadministration/benutzergruppe.php @@ -61,6 +61,7 @@ Uid p->t('global', 'vorname')); ?> p->t('global', 'nachname')); ?> + p->t('global', 'aktiv')); ?> p->t('ui', 'entfernen')); ?> diff --git a/public/js/person/benutzergruppe.js b/public/js/person/benutzergruppe.js index a6a60c7ac..126c9a19e 100644 --- a/public/js/person/benutzergruppe.js +++ b/public/js/person/benutzergruppe.js @@ -18,9 +18,6 @@ var Benutzergruppe = { { // save loaded data let benutzerData = FHC_AjaxClient.getData(data); - - console.log(benutzerData); - let benutzerTable = $("#benutzer-table tbody"); benutzerTable.empty(); @@ -29,11 +26,13 @@ var Benutzergruppe = { for (let i = 0; i < benutzerData.length; i++) { let benutzer = benutzerData[i]; + console.log(benutzer.aktiv); benutzerTable.append( ""+ ""+benutzer.uid+""+ ""+benutzer.vorname+""+ ""+benutzer.nachname+""+ + ""+(benutzer.aktiv === true ? "Ja" : "Nein")+""+ ""+ "