From cf8f7e855020cacfe658e738a8a31cb5d51d413a Mon Sep 17 00:00:00 2001 From: Monique Date: Mon, 23 May 2022 16:11:35 +0200 Subject: [PATCH] instrumenten ook voor leerlingen --- application/controllers/shared/Portal.php | 104 ++++++++++++++++------ application/core/MY_Controller.php | 3 +- application/views/monpas/pages/portal.php | 4 +- public/js/monpas/models/portalmodel.js | 1 - 4 files changed, 80 insertions(+), 32 deletions(-) diff --git a/application/controllers/shared/Portal.php b/application/controllers/shared/Portal.php index b05b6d3..ddc8c4b 100644 --- a/application/controllers/shared/Portal.php +++ b/application/controllers/shared/Portal.php @@ -205,26 +205,28 @@ class Portal extends MY_Controller { echo json_encode(array('scores' =>$scores)); } // getscores - - - - - function kiesCluster(){ $clusterId = $this->uri->segment(4); - - $ongeclusterdId = 0; + $userniveau = $this->Autorisatienivos_model->checknivo($this->userid, $this->globorgid); + $ongeclusterdId = 0; $isCluster = 'F'; $wasniveau2 = 'F'; //hingen voor de keuze niet aan cluster + $keuzesarray = []; + $clusterarray = []; + $ongeclusterd = []; - $ongeclusterd = $this->Licenties_model->get_ongeclusterd($this->globorgid, $ongeclusterdId); + $results = $this->Licenties_model->get_ongeclusterd($this->globorgid, $ongeclusterdId); //instrumenten die niet bij een cluster horen - if($ongeclusterd) { - foreach ($ongeclusterd as $bol) { - $bol->wasNiveau2 = $wasniveau2; - $bol->isCluster = $isCluster; - } - } + if($results) { + foreach ($results as $result) { + $pagniveau = $this->Menus_model->get_fieldvalue(['holdernaam' => 'home', 'module' => $result->sysnr], 'autorisatienivo');//nivo van de homepage van het instrument + if ($pagniveau > $userniveau) {// als de user het instrument niet mag gebruiken moet het bolletje ook niet getoond worden + $result->isCluster = $isCluster;//geen knop om het cluster te openen en te sluiten + $result->wasNiveau2 = $wasniveau2; + $ongeclusterd [] = $result; + } + } + } $isCluster = 'T'; $clusters = $this->Licenties_model->get_clusters_org($this->globorgid); if($clusters) { @@ -238,33 +240,79 @@ class Portal extends MY_Controller { $wasniveau2 = 'T'; $keuze = $this->Licenties_model->get_ongeclusterd($this->globorgid, $clusterId); //gekozen cluster van instrumenten if($keuze) { + foreach ($keuze as $keus) { - $keus->wasNiveau2 = $wasniveau2;// waren bollen onde cluster nu niveau hoger - $keus->isCluster = $isCluster; + $pagniveau = $this->Menus_model->get_fieldvalue(['holdernaam' => 'home', 'module' => $keus->sysnr], 'autorisatienivo'); + if ($pagniveau > $userniveau) { + $keus->wasNiveau2 = $wasniveau2;// waren bollen onde cluster nu niveau hoger + $keus->isCluster = $isCluster; + $keuzesarray[] = $keus; + } } }; if($clusters) { + $i =-1; foreach ($clusters as $cluster) { - $cluster->cluster_id = $cluster->id; - if ($cluster->cluster_id != $clusterId) { //voeg instrumenten toe aan niet-gekozen clusters - $cluster->sub = $this->Licenties_model->get_licentie_cluster($this->globorgid, $cluster->id); - } + $i++; + + $cluster->cluster_id = $cluster->id; + if ($cluster->cluster_id != $clusterId) { //voeg instrumenten toe aan niet-gekozen clusters + if ($cluster->aantalmodules > 1){ + $instrumenten = $this->Licenties_model->get_licentie_cluster($this->globorgid, $cluster->id); + if ($instrumenten) { + foreach ($instrumenten as $instrument) { + $pagniveau = $this->Menus_model->get_fieldvalue(['holdernaam' => 'home', 'module' => $instrument->sysnr], 'autorisatienivo'); + if ($pagniveau > $userniveau) { + $clusterarray[] = $instrument; + } + } + } + if (count($clusterarray) > 1) { + $cluster->isCluster = $isCluster; //ivm knop om het cluster te openen en te sluiten + $cluster->sub = $clusterarray;//instrumenten bij het cluster + $cluster->cluster_id = $cluster->id; //zodat cluster en instrument eenzelfde attribuut hebben + } else if (count($clusterarray) == 1) { //toegang tot maar 1 instrument dus geen menu + $cluster->isCluster = "F"; + $clusterarray[0]->kleur1 = $cluster->kleur1; + $clusterarray[0]->kleur2 = $cluster->kleur2; + + $ongeclusterd = array_merge($ongeclusterd, $clusterarray); + unset($clusters[$i]); + } + else{ + $cluster->isCluster = "F"; + unset($clusters[$i]); + } + } + else if ($cluster->aantalmodules == 1) { //1 instrument bij bolletje + $cluster->isCluster = "F"; + $newitem = $this->Licenties_model->get_ongeclusterd($this->globorgid, $cluster->id); + $pagniveau = $this->Menus_model->get_fieldvalue(['holdernaam' => 'home', 'module' =>$newitem[0]->sysnr], 'autorisatienivo'); + if ($pagniveau > $userniveau) { + $ongeclusterd = array_merge($ongeclusterd, $newitem); + } + unset($clusters[$i]); + } + + + else{// geen toegang tot instrumenten bij cluster + unset($clusters[$i]); + } + + + + } } }; - if(!$clusters){ - $clusters =[]; - }; - if(!$ongeclusterd){ - $ongeclusterd = []; - }; - $licenties = array_merge($ongeclusterd, $clusters); + + $licenties = array_merge( $ongeclusterd, $clusters); usort($licenties, array($this, 'opAlfabet')); usort($keuze, array($this, 'opAlfabet')); $clusternaam = $this->Licenties_model->get_clusterNaam($clusterId); - $geselecteerd = $this->arrayinArray($licenties, $keuze, $clusterId, $clusternaam); + $geselecteerd = $this->arrayinArray($licenties, $keuzesarray, $clusterId, $clusternaam); echo json_encode($geselecteerd); } diff --git a/application/core/MY_Controller.php b/application/core/MY_Controller.php index 1e23a39..56d1a9e 100644 --- a/application/core/MY_Controller.php +++ b/application/core/MY_Controller.php @@ -71,7 +71,8 @@ class MY_Controller extends CI_Controller{ // public $version = '1.17.95';// verbeteringen invullijst, fout omvang // public $version = '1.17.96';// nieuwe handleidingen // public $version = '1.17.97';// omvang geen grafiek bij 0 resultaten - public $version = '1.17.98';// instrumenten voor ouders +// public $version = '1.17.98';// instrumenten voor ouders + public $version = '1.17.99';// instrumenten ook voor leerlingen diff --git a/application/views/monpas/pages/portal.php b/application/views/monpas/pages/portal.php index b2aead9..8fbd26e 100644 --- a/application/views/monpas/pages/portal.php +++ b/application/views/monpas/pages/portal.php @@ -37,7 +37,7 @@
diff --git a/public/js/monpas/models/portalmodel.js b/public/js/monpas/models/portalmodel.js index fe4eea9..a71e69b 100644 --- a/public/js/monpas/models/portalmodel.js +++ b/public/js/monpas/models/portalmodel.js @@ -130,7 +130,6 @@ $( function () { var self = ls.PortalModel; self.fToonPopup(); $.post( "index.php/shared/portal/getlicenties", function ( result ) { - console.log(result, "result") self.licenties.removeAll(); if ( result ) { $.each( result, function ( i, p ) {