Merge branch 'feature/oudersinmonpas'

# Conflicts:
#	application/core/MY_Controller.php
This commit is contained in:
Monique
2022-05-27 20:31:57 +02:00
9 changed files with 164 additions and 65 deletions
+2 -2
View File
@@ -86,6 +86,6 @@ defined( 'EXIT__AUTO_MAX' ) or define( 'EXIT__AUTO_MAX', 125 ); // highest autom
define( 'SUPERUSER', 3 );
define( 'SYSTEM', 3 ); // system wordt gebruikt in de partituur
define( 'WRITER', 343 );
define( 'READER', 1023 );
define( 'WRITER', 1367 );
define( 'READER', 1367 );
+136 -50
View File
@@ -15,6 +15,7 @@ class Portal extends MY_Controller {
"monpas/Home_model",
"monpas/Orgversies_model",
"monpas/Scores_model",
"monpas/Menus_model",
"monpas/Labels_model",
"monpas/Modules_model");
$this->load->model($models);
@@ -34,33 +35,68 @@ class Portal extends MY_Controller {
function getlicenties() {
$userniveau = $this->Autorisatienivos_model->checknivo($this->userid, $this->globorgid);
$ongeclusterdId = 0;
$isCluster = 'F';
$ongeclusterd = $this->Licenties_model->get_ongeclusterd($this->globorgid, $ongeclusterdId);
if ($ongeclusterd){
foreach ($ongeclusterd as $bolletje) {
$bolletje->isCluster = $isCluster;//geen knop om het cluster te openen en te sluiten
}
} else {
$ongeclusterd = [];
};
$isCluster = 'F';
$ongeclusterd = [];
$results = $this->Licenties_model->get_ongeclusterd($this->globorgid, $ongeclusterdId);// bolletjes zonder cluster
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
$ongeclusterd [] = $result;
}
}
}
$isCluster = 'T';
$clusters = $this->Licenties_model->get_clusters_org($this->globorgid);
if($clusters) {
$i = -1;
foreach ($clusters as $cluster) {
$i ++;
if ($cluster->aantalmodules == 1) {
$cluster->isCluster = "F";
$newitem = $this->Licenties_model->get_ongeclusterd($this->globorgid, $cluster->id);
$ongeclusterd = array_merge($ongeclusterd, $newitem);
unset($clusters[$i]);
} else {
$cluster->isCluster = $isCluster; //ivm knop om het cluster te openen en te sluiten
$cluster->sub = $this->Licenties_model->get_licentie_cluster($this->globorgid, $cluster->id);//instrumenten bij het cluster
$cluster->cluster_id = $cluster->id; //zodat cluster en instrument eenzelfde attribuut hebben
}
};
$i++;
if ($cluster->aantalmodules > 1) {// bolletje met link want meer instrumenten bij bolletje
$instrumenten = $this->Licenties_model->get_licentie_cluster($this->globorgid, $cluster->id);
$array = [];
foreach ($instrumenten as $instrument) {
$pagniveau = $this->Menus_model->get_fieldvalue(['holdernaam' => 'home', 'module' => $instrument->sysnr], 'autorisatienivo');
if ($pagniveau > $userniveau) {
$array[] = $instrument;
}
}
if (count($array) > 1) {
$cluster->isCluster = $isCluster; //ivm knop om het cluster te openen en te sluiten
$cluster->sub = $array;//instrumenten bij het cluster
$cluster->cluster_id = $cluster->id; //zodat cluster en instrument eenzelfde attribuut hebben
} else if (count($array) == 1) { //toegang tot maar 1 instrument dus geen menu
$cluster->isCluster = "F";
$array[0]->kleur1 = $cluster->kleur1;
$array[0]->kleur2 = $cluster->kleur2;
$ongeclusterd = array_merge($ongeclusterd, $array);
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
if (! $ongeclusterd){
@@ -70,7 +106,9 @@ class Portal extends MY_Controller {
$clusters = [];
};
$licenties = array_merge($ongeclusterd, $clusters);
$licenties = array_merge($clusters, $ongeclusterd);
usort($licenties, array($this, 'opAlfabet'));//bollen op alfbetische volgorde
echo json_encode($licenties);
@@ -167,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) {
@@ -200,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);
}
+2 -1
View File
@@ -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.18.00';// alle instrumenten in compact sop
// public $version = '1.17.98';// instrumenten voor ouders
public $version = '1.17.99';// instrumenten ook voor leerlingen
@@ -63,5 +63,4 @@ class Menus_model extends MY_Model{
ORDER BY volgorde" ;
return $this->get_query_result();
}
}
@@ -39,4 +39,16 @@ class Autorisatienivos_model extends MY_Model{
if ($result) {return $result->nivo;}
else {return null ;};
}
function checknivo($userid, $orgid){
$this->sql=" SELECT nivo
FROM tb_autorisatienivos AN
JOIN tb_autorisaties A ON A.nivo_id = AN.id
JOIN tb_orgusers OU ON OU.id = A.orguser_id
WHERE OU.user_id = {$userid}
AND OU.organisatie_id = {$orgid} ";
return $this->get_query_row('nivo');
}
}
@@ -25,15 +25,15 @@ class Licenties_model extends MY_Model{
function get_ongeclusterd($orgid, $clusterId){
$this->sql = "SELECT M.id, M.sysnr, M. cluster_id, M.naam,M.naamkort,
$this->sql = "SELECT DISTINCT(M.id), M.sysnr, M.cluster_id, M.naam,M.naamkort,
IF (C.id, C.kleur1, '#ffffff') as kleur1,
IF (C.id , C.kleur2, '#ebebeb' ) as kleur2
FROM tb_organisaties O
JOIN tb_licenties L ON L.orgid = O.id
JOIN tb_modules M on M.sysnr = L.modulenr
LEFT JOIN tb_cluster C ON C.id = M.cluster_id
LEFT JOIN tb_cluster C ON C.id = M.cluster_id
WHERE O.id = {$orgid}
AND actief = 1
AND O.actief = 1
AND M.cluster_id = {$clusterId}
ORDER BY M.naam ";
return $this->get_query_result();
@@ -43,7 +43,6 @@ class Licenties_model extends MY_Model{
$this->sql = "SELECT C.id, C.naam, count(M.id) as aantalmodules, C.kleur1, C.kleur2
FROM tb_organisaties O
JOIN tb_licenties L ON L.orgid = O.id
JOIN tb_modules M on M.sysnr = L.modulenr
JOIN tb_cluster C on C.id = M.cluster_id
@@ -85,14 +84,14 @@ class Licenties_model extends MY_Model{
}
function get_licentie_cluster($orgid, $clusterid){
$this->sql = "SELECT M.id, M.cluster_id, M.naam, M.naamkort, M.sysnr
FROM tb_organisaties O
$this->sql = "SELECT DISTINCT(M.id), M.cluster_id, M.naam, M.naamkort, M.sysnr
FROM tb_organisaties O
JOIN tb_licenties L ON L.orgid = O.id
JOIN tb_modules M on M.sysnr = L.modulenr
JOIN tb_cluster C on C.id = M.cluster_id
WHERE O.id = {$orgid}
AND C.id = {$clusterid}
AND actief = 1 ";
AND O.actief = 1 ";
return $this->get_query_result();
}
+2 -2
View File
@@ -37,7 +37,7 @@
<!-- clusters waar niet op is geklikt-->
<div class="col-sm-12 keuzecirkel "
style="postion:relative; z-index:20; "
style="position:relative; z-index:20; "
data-bind=" visible: !selectie()">
<div style="position:absolute; top: 0px; left:0px;
@@ -51,7 +51,7 @@
<!-- gekozen cluster heeft grijze rand om cirkel-->
<div class="col-sm-12 keuzecirkel2"
style="postion:relative; z-index:20;"
style="position:relative; z-index:20;"
data-bind="visible: selectie(),
click: ! isCluster() ? $root.fNaarModule : '' ,
style: {background: k2}">
+4 -1
View File
@@ -187,7 +187,10 @@ $(function(){
// als de versie een schoolversie is, dan mag alleen het management invullen
// maar ook het management mag niet invullen voorbij de invuldatum
if (self.editok() && self.selectedOrgversion().vorm==1) {self.editok(data.writer)}
if (self.editok() && self.selectedOrgversion().vorm==1) {self.editok(data.writer)
console.log(self.editok(), "edit ok");
console.log(data.writer, "writer")
}
},'json');
},
-1
View File
@@ -134,7 +134,6 @@ $( function () {
if ( result ) {
$.each( result, function ( i, p ) {
var clusterid = '';
self.licenties.push( new fAddLicentie( p, clusterid ) );
} ); // each