Merge branch 'feature/sopOverzichtPerCriterium'
This commit is contained in:
@@ -8,7 +8,9 @@ class Overzichtsop extends MY_Controller{
|
|||||||
"shared/Schooljaren_model",
|
"shared/Schooljaren_model",
|
||||||
"shared/Organisaties_model",
|
"shared/Organisaties_model",
|
||||||
"shared/Orgusers_model",
|
"shared/Orgusers_model",
|
||||||
"monpas/Compactsop_model"
|
"monpas/Compactsop_model",
|
||||||
|
"monpas/Sorteringen_model",
|
||||||
|
"monpas/Sorteerlabels_model",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -17,12 +19,47 @@ class Overzichtsop extends MY_Controller{
|
|||||||
$this->load->helper('string');
|
$this->load->helper('string');
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSchooljaren(){
|
function getSchooljarenEnCriteria(){
|
||||||
if (!$this->userid) die;
|
if (!$this->userid) die;
|
||||||
$schooljaren = $this->Schooljaren_model->getschooljaren();
|
$schooljaren = $this->Schooljaren_model->getschooljaren();
|
||||||
echo json_encode($schooljaren);
|
$org = $this->Organisaties_model->get_record_by_id($this->globorgid);
|
||||||
|
if($org->soort == 4) $criteria = false;
|
||||||
|
else {
|
||||||
|
switch ($org->soort) {
|
||||||
|
case 1:
|
||||||
|
$swvID = $this->globorgid;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
$swvID = $org->valtonder_id;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
$swvID = $this->Organisaties_model->get_fieldvalue(['id' => $org->valtonder_id], 'valtonder_id');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$criteria = $this->Sorteringen_model->get_criteriabijSWV($swvID);
|
||||||
|
if (!$criteria) {
|
||||||
|
$criteria = [];
|
||||||
|
}
|
||||||
|
$criterium = new stdClass();
|
||||||
|
$criterium->id = 0;
|
||||||
|
$criterium->swv_id = $swvID;
|
||||||
|
$criterium->naam = "bestuur";
|
||||||
|
array_unshift($criteria, $criterium);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'schooljaren' => $schooljaren,
|
||||||
|
'orgsoort' => $org->soort,
|
||||||
|
'orgID' => $this->globorgid,
|
||||||
|
'criteria' => $criteria
|
||||||
|
];
|
||||||
|
|
||||||
|
echo json_encode($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function getOrgsoort(){
|
function getOrgsoort(){
|
||||||
if (!$this->userid) die;
|
if (!$this->userid) die;
|
||||||
$organisatie = $this->Organisaties_model->getorg($this->globorgid);
|
$organisatie = $this->Organisaties_model->getorg($this->globorgid);
|
||||||
@@ -33,90 +70,129 @@ class Overzichtsop extends MY_Controller{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getoverzicht() {
|
function getoverzicht()
|
||||||
|
{
|
||||||
if (!$this->userid) die;
|
if (!$this->userid) die;
|
||||||
$schooljaarnr = $this->clean_input("schooljaarnr");
|
$schooljaarnr = $this->clean_input("schooljaarnr");
|
||||||
$orgid = $this->clean_input("orgid");
|
$criteriumID = $this->clean_input("criteriumID");
|
||||||
if ($orgid == 0) $orgid = $this->globorgid;
|
|
||||||
$organisatie = $this->Organisaties_model->getorg($orgid);
|
$organisatie = $this->Organisaties_model->getorg($this->globorgid);
|
||||||
$organisatie->sop = 'F';
|
$organisatie->sop = 'F';
|
||||||
$compactsopID = $this->Compactsop_model->get_fieldvalue(['organisatie_id' => $orgid,
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(['organisatie_id' => $this->globorgid,
|
||||||
'schooljaarnummer' => $schooljaarnr], 'id');
|
'schooljaarnummer' => $schooljaarnr], 'id');
|
||||||
if ($compactsopID) $organisatie->sop = 'T';
|
if ($compactsopID) $organisatie->sop = 'T';
|
||||||
switch ($organisatie->soort) {
|
if ($organisatie->soort == 4){
|
||||||
case 4:
|
echo json_encode(["soort" => 4,
|
||||||
echo json_encode(array("organisatie" => $organisatie, "soort" => 4,));
|
"organisatie" => $organisatie,
|
||||||
break;
|
"criteriumscholen" => false]);
|
||||||
case 3:
|
}
|
||||||
$bgid = $organisatie->id;
|
|
||||||
$organisatie->scholen = $this->Organisaties_model->getorgsvanaf($bgid);
|
|
||||||
if ($organisatie->scholen) {
|
if ($criteriumID > 0){
|
||||||
foreach ($organisatie->scholen as $index => $school) {
|
$criteriumOrg = clone $organisatie;
|
||||||
$school->sop = 'F';
|
$criteriumresult = $this->overzichtPerCriterium($criteriumOrg, $schooljaarnr, $criteriumID);
|
||||||
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
}
|
||||||
['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
if($organisatie->soort < 3 ||$criteriumID == 0 ) $niveauresult = $this->overzichtPerNiveau($organisatie, $schooljaarnr, $criteriumID);
|
||||||
if ($compactsopID) $school->sop = 'T';
|
$niveauorgs = [];
|
||||||
}
|
echo json_encode([
|
||||||
}
|
'soort' => $organisatie->soort,
|
||||||
echo json_encode(array("organisatie" => $organisatie, "soort" => 3));
|
'organisatie' => isset($niveauresult)? $niveauresult : false,
|
||||||
break;
|
'criteriumscholen' => isset($criteriumresult) ? $criteriumresult: false
|
||||||
case 2:
|
|
||||||
$kamerid = $organisatie->id;
|
]);
|
||||||
$organisatie->bgs = $this->Organisaties_model->getorgsvanaf($kamerid);
|
|
||||||
if ($organisatie->bgs) {
|
|
||||||
foreach ($organisatie->bgs as $bg) {
|
}
|
||||||
$bg->sop = 'F';
|
|
||||||
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
private function overzichtPerCriterium($criteriumOrg, $schooljaarnr, $criteriumID){
|
||||||
['organisatie_id' => $bg->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
|
||||||
if ($compactsopID) $bg->sop = 'T';
|
$lijst = [];
|
||||||
$bg->scholen = $this->Organisaties_model->getorgsvanaf($bg->id);
|
$orgs = $this->Organisaties_model->getlistrecursief($criteriumOrg->id, $lijst);
|
||||||
foreach ($bg->scholen as $index => $school) {
|
$orglist = implode(",", $orgs);
|
||||||
|
$criteriumOrg->scholen = $this->Sorteerlabels_model->orgsEnSopsPerCriterium($schooljaarnr,$criteriumID,$criteriumOrg->id, $orglist );
|
||||||
|
|
||||||
|
return $criteriumOrg;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private function overzichtPerNiveau($organisatie, $schooljaarnr, $criteriumID){
|
||||||
|
switch ($organisatie->soort) {
|
||||||
|
case 3:
|
||||||
|
$bgid = $organisatie->id;
|
||||||
|
$organisatie->scholen = $this->Organisaties_model->getorgsvanaf($bgid);
|
||||||
|
if ($organisatie->scholen) {
|
||||||
|
foreach ($organisatie->scholen as $index => $school) {
|
||||||
$school->sop = 'F';
|
$school->sop = 'F';
|
||||||
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
||||||
['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
||||||
if ($compactsopID) $school->sop = 'T';
|
if ($compactsopID) $school->sop = 'T';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
break;
|
||||||
echo json_encode(array("organisatie" => $organisatie, "soort" => 2));
|
case 2:
|
||||||
break;
|
$kamerid = $organisatie->id;
|
||||||
case 1;
|
$organisatie->bgs = $this->Organisaties_model->getorgsvanaf($kamerid);
|
||||||
$swvid = $organisatie->id;
|
if ($organisatie->bgs) {
|
||||||
$organisatie->kamers = $this->Organisaties_model->getorgsvanaf($swvid);
|
foreach ($organisatie->bgs as $bg) {
|
||||||
if ($organisatie->kamers) {
|
$bg->sop = 'F';
|
||||||
if (!is_array($organisatie->kamers)) {
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
||||||
$organisatie->kamers = objectToArray($organisatie->kamers);
|
['organisatie_id' => $bg->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
||||||
}
|
if ($compactsopID) $bg->sop = 'T';
|
||||||
foreach ($organisatie->kamers as $kamer) {
|
if($criteriumID == 0 ) {
|
||||||
$kamer->sop = 'F';
|
|
||||||
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
|
||||||
['organisatie_id' => $kamer->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
|
||||||
if ($compactsopID) $kamer->sop = 'T';
|
|
||||||
$kamer->bgs = $this->Organisaties_model->getorgsvanaf($kamer->id);
|
|
||||||
if ($kamer->bgs) {
|
|
||||||
foreach ($kamer->bgs as $bg) {
|
|
||||||
$bg->sop = 'F';
|
|
||||||
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
|
||||||
['organisatie_id' => $bg->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
|
||||||
if ($compactsopID) $bg->sop = 'T';
|
|
||||||
$bg->scholen = $this->Organisaties_model->getorgsvanaf($bg->id);
|
$bg->scholen = $this->Organisaties_model->getorgsvanaf($bg->id);
|
||||||
foreach ($bg->scholen as $index => $school) {
|
if($bg->scholen){
|
||||||
$school->sop = 'F';
|
foreach ($bg->scholen as $index => $school) {
|
||||||
|
$school->sop = 'F';
|
||||||
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
||||||
|
['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
||||||
|
if ($compactsopID) $school->sop = 'T';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1;
|
||||||
|
$swvid = $organisatie->id;
|
||||||
|
$organisatie->kamers = $this->Organisaties_model->getorgsvanaf($swvid);
|
||||||
|
if ($organisatie->kamers) {
|
||||||
|
if (!is_array($organisatie->kamers)) {
|
||||||
|
$organisatie->kamers = objectToArray($organisatie->kamers);
|
||||||
|
}
|
||||||
|
foreach ($organisatie->kamers as $kamer) {
|
||||||
|
$kamer->sop = 'F';
|
||||||
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
||||||
|
['organisatie_id' => $kamer->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
||||||
|
if ($compactsopID) $kamer->sop = 'T';
|
||||||
|
$kamer->bgs = $this->Organisaties_model->getorgsvanaf($kamer->id);
|
||||||
|
if ($kamer->bgs) {
|
||||||
|
foreach ($kamer->bgs as $bg) {
|
||||||
|
$bg->sop = 'F';
|
||||||
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
||||||
['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
['organisatie_id' => $bg->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
||||||
if ($compactsopID) $school->sop = 'T';
|
if ($compactsopID) $bg->sop = 'T';
|
||||||
|
if($criteriumID == 0) {
|
||||||
|
$bg->scholen = $this->Organisaties_model->getorgsvanaf($bg->id);
|
||||||
|
if($bg->scholen) {
|
||||||
|
foreach ($bg->scholen as $index => $school) {
|
||||||
|
$school->sop = 'F';
|
||||||
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
||||||
|
['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
||||||
|
if ($compactsopID) $school->sop = 'T';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
echo json_encode([
|
break;
|
||||||
"organisatie" => $organisatie,
|
|
||||||
"soort" => 1]);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $organisatie;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// function getAlfabetisch(){
|
// function getAlfabetisch(){
|
||||||
// if (!$this->userid) die;
|
// if (!$this->userid) die;
|
||||||
|
|||||||
@@ -28,4 +28,8 @@ class Compactsop_model extends MY_Model
|
|||||||
header( 'Content-Length: ' . filesize( $this->compactsoppath.$sop->pdfnaam ) );
|
header( 'Content-Length: ' . filesize( $this->compactsoppath.$sop->pdfnaam ) );
|
||||||
readfile( $this->compactsoppath . $sop->pdfnaam );
|
readfile( $this->compactsoppath . $sop->pdfnaam );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -26,6 +26,29 @@ class Sorteerlabels_model extends MY_Model{
|
|||||||
WHERE L.sortering_id = {$criteriumid}
|
WHERE L.sortering_id = {$criteriumid}
|
||||||
AND O.organisatie_id = {$schoolid} ";
|
AND O.organisatie_id = {$schoolid} ";
|
||||||
return $this->get_query_row('id');
|
return $this->get_query_row('id');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function orgsEnSopsPerCriterium($schooljaarnr,$criteriumID,$orgid, $orglist){
|
||||||
|
$this->sql =" SELECT O.id, O.soort, O.naamkort, O.plaats, O.brin, COALESCE(L.naam, 'niet ingedeeld') AS label,
|
||||||
|
COALESCE(L.naam, 'ZZZZ') AS ordening,
|
||||||
|
CASE WHEN C.id IS NULL THEN 'F'
|
||||||
|
ELSE 'T'
|
||||||
|
END AS sop
|
||||||
|
|
||||||
|
FROM tb_organisaties O
|
||||||
|
LEFT JOIN tb_sorteerlabels_org OL ON O.id = OL.organisatie_id
|
||||||
|
LEFT JOIN tb_sorteerlabels L ON OL.label_id = L.id
|
||||||
|
LEFT JOIN tb_sorteringen S ON L.sortering_id = S.id
|
||||||
|
LEFT JOIN tb_compactsops C ON O.id = C.organisatie_id
|
||||||
|
|
||||||
|
WHERE O.id IN ({$orglist})
|
||||||
|
AND (S.id = {$criteriumID} OR S.id IS NULL)
|
||||||
|
AND O.id <> {$orgid}
|
||||||
|
AND O.soort = 4
|
||||||
|
AND (C.schooljaarnummer = {$schooljaarnr} OR C.id IS NULL)
|
||||||
|
GROUP BY O.id
|
||||||
|
ORDER BY ordening, O.soort, O.naamkort ";
|
||||||
|
|
||||||
|
return $this->get_query_result();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
<table style="border: 1px solid #A28A29; margin-top: 30px;"
|
<table style="border: 1px solid #A28A29; margin-top: 30px;width: 100%;"
|
||||||
data-bind="with: $root.selectedOrg()">
|
data-bind="with: $root.selectedOrg()">
|
||||||
<thead>
|
<thead>
|
||||||
<tr style="border-bottom:1px solid #A28A29; ">
|
<tr style="border-bottom:1px solid #A28A29; ">
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
|
||||||
|
<table style="border: 1px solid #A28A29; width: 100%; margin-top: 30px;" data-bind="with: topOrg() ? topOrg(): ''" >
|
||||||
|
<thead>
|
||||||
|
<tr style="border-bottom:1px solid #A28A29; ">
|
||||||
|
<th colspan="3" style="padding: 5px; color: white; background-color:#A28A29;">Compact SOPs per citerium</th>
|
||||||
|
</tr>
|
||||||
|
<tr style="border-bottom:1px solid #A28A29; ">
|
||||||
|
<th style="padding: 5px; color: white; background-color:#A28A29">Download</th>
|
||||||
|
<th style="padding: 5px; color: white; background-color:#A28A29 ">Soort</th>
|
||||||
|
<th style="padding: 5px; color: white; background-color:#A28A29 ">Organisatie</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr style="border-bottom:1px solid #A28A29;" data-bind="visible: soort== 'BOP' ">
|
||||||
|
<th data-bind="style: {backgroundColor: achtergrond} " >
|
||||||
|
<button data-bind="visible: erIsEenSop(), click: $parent.fOpenPDF, style: {backgroundColor: kleur()} "
|
||||||
|
class="buttonCompact glyphicon glyphicon-open"
|
||||||
|
style=" height: 30px; width: 30px; padding-left: 8px; border-radius: 50%;
|
||||||
|
box-shadow: none; border: none; float: left">
|
||||||
|
</button></th>
|
||||||
|
<th style="padding: 5px;" data-bind="text: soort, style: {backgroundColor: achtergrond()} "></th>
|
||||||
|
<th style="padding: 5px;" data-bind="text: naam, style: {backgroundColor: achtergrond()} "></th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody data-bind="foreach: orgs">
|
||||||
|
<tr data-bind="visible: $index() == 0 || $parent.orgs()[$index()-1].label != label " style="border-bottom:1px solid #A28A29; ">
|
||||||
|
<td colspan ="3" data-bind="text: label" style="background-color: #faf7eb; text-align: center; font-weight: bold; vertical-align: text-top">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr style="border-bottom:1px solid #A28A29; ">
|
||||||
|
<td data-bind="style: {backgroundColor: achtergrond} " style="border-bottom:1px solid #A28A29; ">
|
||||||
|
<button data-bind="visible: erIsEenSop(), click: $root.fOpenPDF, style: {backgroundColor: kleur()} "
|
||||||
|
class="buttonCompact glyphicon glyphicon-open"
|
||||||
|
style=" height: 30px; width: 30px; padding-left: 8px; border-radius: 50%;
|
||||||
|
box-shadow: none; border: none; float: left">
|
||||||
|
</button>
|
||||||
|
</td>
|
||||||
|
<td style="padding: 5px" data-bind="text: soort, style: {backgroundColor: achtergrond()} "></td>
|
||||||
|
<td style="padding: 5px" data-bind="text: naam, style: {backgroundColor: achtergrond()} ">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
@@ -1,7 +1,12 @@
|
|||||||
<table style="border: 1px solid #A28A29; margin-top: 30px;"
|
<table style="border: 1px solid #A28A29; margin-top: 30px; width: 100%;"
|
||||||
data-bind="with: $root.selectedOrg()">
|
data-bind="with: $root.selectedOrg()">
|
||||||
|
|
||||||
<thead>
|
<thead>
|
||||||
|
<!-- ko if: $parent.topOrg()-->
|
||||||
|
<tr style="border-bottom: 1px solid white;">
|
||||||
|
<th colspan="3" style="padding: 5px; color: white; background-color:#A28A29">Compact SWOP, ROPs en BOPs </th>
|
||||||
|
</tr>
|
||||||
|
<!-- /ko -->
|
||||||
<tr>
|
<tr>
|
||||||
<th style="padding: 5px; color: white; background-color:#A28A29">Download</th>
|
<th style="padding: 5px; color: white; background-color:#A28A29">Download</th>
|
||||||
<th style="padding: 5px; color: white; background-color:#A28A29 ">Soort</th>
|
<th style="padding: 5px; color: white; background-color:#A28A29 ">Soort</th>
|
||||||
@@ -33,7 +38,7 @@
|
|||||||
style=" height: 30px; width: 30px; padding-left: 8px; background-color: #8cff1a; float: left">
|
style=" height: 30px; width: 30px; padding-left: 8px; background-color: #8cff1a; float: left">
|
||||||
</button>
|
</button>
|
||||||
</td>
|
</td>
|
||||||
<td style="padding: 5px; background-color: #f5f0f2;">ROP</td>
|
<td style="padding: 5px; background-color: #f5f0f2;">BOP</td>
|
||||||
<td style="padding: 5px; background-color: #f5f0f2;" data-bind="text: brin + ' ' + naam">
|
<td style="padding: 5px; background-color: #f5f0f2;" data-bind="text: brin + ' ' + naam">
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<table style="width: 500px;" data-bind="with: $root.selectedOrg()">
|
<table style="width: 100%;" data-bind="with: $root.selectedOrg()">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding: 5px">SOP</td>
|
<td style="padding: 5px">SOP</td>
|
||||||
<td style="padding: 5px" data-bind="text: brin + ' ' + naam">
|
<td style="padding: 5px" data-bind="text: brin + ' ' + naam">
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
<table style="border: 1px solid #A28A29; margin-top: 30px;"
|
<table style="border: 1px solid #A28A29; margin-top: 30px; width: 100%;"
|
||||||
data-bind="with: $root.selectedOrg()">
|
data-bind="with: selectedOrg() ">
|
||||||
<thead>
|
<thead>
|
||||||
|
<!-- ko if: $parent.topOrg()-->
|
||||||
|
<tr style="border-bottom: 1px solid white;">
|
||||||
|
<th colspan="3" style="padding: 5px; color: white; background-color:#A28A29">Compact SWOP, ROPs en BOPs </th>
|
||||||
|
</tr>
|
||||||
|
<!-- /ko -->
|
||||||
<tr style="border-bottom: 1px solid white;">
|
<tr style="border-bottom: 1px solid white;">
|
||||||
<th style="padding: 5px; color: white; background-color:#A28A29">Download</th>
|
<th style="padding: 5px; color: white; background-color:#A28A29">Download</th>
|
||||||
<th style="padding: 5px; color: white; background-color:#A28A29 ">Soort</th>
|
<th style="padding: 5px; color: white; background-color:#A28A29 ">Soort</th>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<div class="col-sm-12 mainpagina" id ="pagsopoverzicht">
|
<div class="col-sm-12 mainpagina" id ="pagsopoverzicht">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-2"></div>
|
<div class="col-xs-1"></div>
|
||||||
|
|
||||||
<div class="col-xs-9 " >
|
<div class="col-xs-11 " >
|
||||||
|
|
||||||
<h4 data-bind="text: titel() ? subtitel() ? titel() + ' ' + subtitel() : titel(): '' ">
|
<h4 data-bind="text: titel() ? subtitel() ? titel() + ' ' + subtitel() : titel(): '' ">
|
||||||
</h4>
|
</h4>
|
||||||
@@ -11,26 +11,57 @@
|
|||||||
|
|
||||||
|
|
||||||
<p>Selecteer een schooljaar:</p>
|
<p>Selecteer een schooljaar:</p>
|
||||||
<select data-bind=" options: schooljaren,
|
<select style="height: 25px; width: 150px;"
|
||||||
|
data-bind=" options: schooljaren,
|
||||||
optionsText: 'naam',
|
optionsText: 'naam',
|
||||||
value: $root.selectedSchooljaar,
|
value: $root.selectedSchooljaar,
|
||||||
event: {change: fChangeSchooljaar}">
|
event: {change: fChangeSchooljaar}">
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- ko if: orgsoort() == 4 -->
|
<div data-bind="visible: criteria().length > 1 && orgsoort() != 4">
|
||||||
<?php $this->load->view("monpas/compactsop/overzicht/_school"); ?>
|
<p style="margin-top : 20px;">Kies een sorteercriterium:</p>
|
||||||
<!--/ko -->
|
<select style="height: 25px; width: 150px;"
|
||||||
|
data-bind=" options : criteria,
|
||||||
|
optionsText : 'naam',
|
||||||
|
value : selectedCriterium,
|
||||||
|
event : {change: fChangeCriterium}">
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- ko if: orgsoort() == 3 -->
|
</div>
|
||||||
<?php $this->load->view("monpas/compactsop/overzicht/_bestuur"); ?>
|
<div class="row">
|
||||||
<!--/ko -->
|
|
||||||
|
<!-- ko if: orgsoort() == 4 -->
|
||||||
|
<div class="col-xs-4">
|
||||||
|
<?php $this->load->view("monpas/compactsop/overzicht/_school"); ?>
|
||||||
|
</div>
|
||||||
|
<!--/ko -->
|
||||||
|
|
||||||
|
<!-- ko if: topOrg() -->
|
||||||
|
<div class="col-xs-6">
|
||||||
|
<?php $this->load->view("monpas/compactsop/overzicht/_criterium"); ?>
|
||||||
|
</div>
|
||||||
|
<!--/ko -->
|
||||||
|
|
||||||
|
<!-- ko if: orgsoort() == 3 && !topOrg() -->
|
||||||
|
<div class="col-xs-6">
|
||||||
|
<?php $this->load->view("monpas/compactsop/overzicht/_bestuur"); ?>
|
||||||
|
</div>
|
||||||
|
<!--/ko -->
|
||||||
|
|
||||||
|
<!-- ko if: orgsoort() == 2 -->
|
||||||
|
<div class="col-xs-6">
|
||||||
|
<?php $this->load->view("monpas/compactsop/overzicht/_regio"); ?>
|
||||||
|
</div>
|
||||||
|
<!--/ko -->
|
||||||
|
|
||||||
|
<!-- ko if: orgsoort() == 1 -->
|
||||||
|
<div class="col-xs-6">
|
||||||
|
<?php $this->load->view("monpas/compactsop/overzicht/_swv"); ?>
|
||||||
|
</div>
|
||||||
|
<!--/ko -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- ko if: orgsoort() == 2 -->
|
|
||||||
<?php $this->load->view("monpas/compactsop/overzicht/_regio"); ?>
|
|
||||||
<!--/ko -->
|
|
||||||
<!-- ko if: orgsoort() == 1 -->
|
|
||||||
<?php $this->load->view("monpas/compactsop/overzicht/_swv"); ?>
|
|
||||||
<!--/ko -->
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -247,7 +247,6 @@ ls.initMenuModel = function(){
|
|||||||
fSetSubmenu: function(){
|
fSetSubmenu: function(){
|
||||||
var self=ls.MenuModel;
|
var self=ls.MenuModel;
|
||||||
var that = this;
|
var that = this;
|
||||||
console.log(this, "this")
|
|
||||||
|
|
||||||
self.toonScholen(true);
|
self.toonScholen(true);
|
||||||
$.each(self.menuitems(), function (i, m){
|
$.each(self.menuitems(), function (i, m){
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ $(function(){
|
|||||||
mh.initSopOverzichtModel = function(){
|
mh.initSopOverzichtModel = function(){
|
||||||
|
|
||||||
function fAddSWV(p){
|
function fAddSWV(p){
|
||||||
|
console.log(p, "p")
|
||||||
|
|
||||||
var dit = this;
|
var dit = this;
|
||||||
this.id = p.id;
|
this.id = p.id;
|
||||||
this.soort = p.soort;
|
this.soort = p.soort;
|
||||||
@@ -15,7 +17,6 @@ mh.initSopOverzichtModel = function(){
|
|||||||
if(p.sop === 'T') dit.erIsEenSop(true);
|
if(p.sop === 'T') dit.erIsEenSop(true);
|
||||||
|
|
||||||
this.kamers = ko.observableArray([]);
|
this.kamers = ko.observableArray([]);
|
||||||
// dit.scholen = ko.observableArray([]);
|
|
||||||
if (p.kamers){
|
if (p.kamers){
|
||||||
$.each(p.kamers, function(j,k){
|
$.each(p.kamers, function(j,k){
|
||||||
dit.kamers.push(new fAddKamer(k));
|
dit.kamers.push(new fAddKamer(k));
|
||||||
@@ -23,11 +24,6 @@ mh.initSopOverzichtModel = function(){
|
|||||||
}
|
}
|
||||||
this.bgs = ko.observableArray([])
|
this.bgs = ko.observableArray([])
|
||||||
this.scholen = ko.observableArray([]);
|
this.scholen = ko.observableArray([]);
|
||||||
// if (p.scholen ){
|
|
||||||
// $.each(p.scholen, function(i,s){
|
|
||||||
// dit.scholen.push(new fAddSchool(s));
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function fAddKamer(p){
|
function fAddKamer(p){
|
||||||
@@ -44,17 +40,11 @@ mh.initSopOverzichtModel = function(){
|
|||||||
|
|
||||||
this.kamers = ko.observableArray()
|
this.kamers = ko.observableArray()
|
||||||
this.bgs = ko.observableArray([]);
|
this.bgs = ko.observableArray([]);
|
||||||
// this.scholen = ko.observableArray([]);
|
|
||||||
if (p.bgs){
|
if (p.bgs){
|
||||||
$.each(p.bgs, function(x,z){
|
$.each(p.bgs, function(x,z){
|
||||||
dit.bgs.push(new fAddBG(z));
|
dit.bgs.push(new fAddBG(z));
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// if (p.scholen){
|
|
||||||
// $.each(p.scholen, function(i,s){
|
|
||||||
// dit.scholen.push(new fAddSchool(s));
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function fAddBG(p){
|
function fAddBG(p){
|
||||||
@@ -69,6 +59,7 @@ mh.initSopOverzichtModel = function(){
|
|||||||
this.bgs = ko.observableArray();
|
this.bgs = ko.observableArray();
|
||||||
this.scholen = ko.observableArray([]);
|
this.scholen = ko.observableArray([]);
|
||||||
|
|
||||||
|
|
||||||
this.erIsEenSop = ko.observable(false);
|
this.erIsEenSop = ko.observable(false);
|
||||||
if(p.sop === 'T') dit.erIsEenSop(true)
|
if(p.sop === 'T') dit.erIsEenSop(true)
|
||||||
|
|
||||||
@@ -91,24 +82,79 @@ mh.initSopOverzichtModel = function(){
|
|||||||
if(b.sop === 'T') dit.erIsEenSop(true)
|
if(b.sop === 'T') dit.erIsEenSop(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function fAddLabelOrg(p) {
|
||||||
|
var dit = this;
|
||||||
|
this.id = p.id;
|
||||||
|
this.soort = p.soort;
|
||||||
|
this.naam = p.brin ? p.brin = ' ' + p.naamkort : p.naamkort;
|
||||||
|
this.soort = ' ';
|
||||||
|
this.kleur = ko.observable('');
|
||||||
|
this.achtergrond = ko.observable('');
|
||||||
|
switch (p.soort) {
|
||||||
|
case "1":
|
||||||
|
dit.soort = 'SWOP'
|
||||||
|
dit.kleur('#A28A29');
|
||||||
|
dit.achtergrond('#a07b8e');
|
||||||
|
break;
|
||||||
|
case "2":
|
||||||
|
dit.soort = 'ROP';
|
||||||
|
dit.kleur('#ff8c1a');
|
||||||
|
dit.achtergrond('#ded0d7');
|
||||||
|
break;
|
||||||
|
case "3":
|
||||||
|
dit.soort = 'BOP';
|
||||||
|
dit.kleur('#8cff1a');
|
||||||
|
dit.achtergrond('#f5f0f2');
|
||||||
|
break;
|
||||||
|
case "4":
|
||||||
|
dit.soort = 'SOP';
|
||||||
|
dit.kleur('#1aa3ff');
|
||||||
|
dit.achtergrond('#ffffff');
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
this.plaats = p.plaats;
|
||||||
|
this.geopend = ko.observable(false);
|
||||||
|
this.erIsEenSop = ko.observable(false);
|
||||||
|
if (p.sop === 'T') dit.erIsEenSop(true);
|
||||||
|
this.label = p.label;
|
||||||
|
this.orgs = ko.observableArray([]);
|
||||||
|
|
||||||
|
if (p.scholen) {
|
||||||
|
$.each(p.scholen, function (a, b) {
|
||||||
|
dit.orgs.push(new fAddLabelOrg(b));
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function fAddSchooljaar(s){
|
function fAddSchooljaar(s){
|
||||||
this.id = s.schooljaarnr;
|
this.id = s.schooljaarnr;
|
||||||
this.naam = s.naam;
|
this.naam = s.naam;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mh.SopOverzichtModel !== undefined){
|
function fAddCriterium(c) {
|
||||||
|
this.id = c.id;
|
||||||
|
this.naam = c.naam;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (mh.SopOverzichtModel !== undefined){
|
||||||
mh.SopOverzichtModel.initModel();
|
mh.SopOverzichtModel.initModel();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
mh.SopOverzichtModel = {
|
mh.SopOverzichtModel = {
|
||||||
toporg : ko.observable(''),
|
|
||||||
selectedOrg : ko.observable(''),
|
orgsoort : ko.observable(4),
|
||||||
orgsoort : ko.observable(1),
|
geopend : ko.observable(false),
|
||||||
geopend : ko.observable(false),
|
schooljaren : ko.observableArray([]),
|
||||||
schooljaren : ko.observableArray([]),
|
criteria : ko.observableArray([]),
|
||||||
selectedSchooljaar : ko.observable(''),
|
selectedSchooljaar : ko.observable(''),
|
||||||
gegevens : ko.observable(true),
|
selectedCriterium : ko.observable(''),
|
||||||
titel : ko.pureComputed( function(){
|
selectedOrg : ko.observable(),
|
||||||
|
topOrg : ko.observable(),
|
||||||
|
gegevens : ko.observable(true),
|
||||||
|
bezig : ko.observable(false),
|
||||||
|
titel : ko.pureComputed( function(){
|
||||||
if(mh.SopOverzichtModel && mh.SopOverzichtModel.orgsoort()){
|
if(mh.SopOverzichtModel && mh.SopOverzichtModel.orgsoort()){
|
||||||
switch(mh.SopOverzichtModel.orgsoort()){
|
switch(mh.SopOverzichtModel.orgsoort()){
|
||||||
case 4 : return 'Compact schoolondersteuningsprofiel (SOP)';
|
case 4 : return 'Compact schoolondersteuningsprofiel (SOP)';
|
||||||
@@ -131,129 +177,94 @@ mh.initSopOverzichtModel = function(){
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
initBindings :function(){
|
initBindings :function(){
|
||||||
var self = mh.SopOverzichtModel;
|
var self = mh.SopOverzichtModel;
|
||||||
if (!ko.dataFor(document.getElementById('pagsopoverzicht')) ) {
|
if (!ko.dataFor(document.getElementById('pagsopoverzicht')) ) {
|
||||||
ko.applyBindings(mh.SopOverzichtModel, document.getElementById("pagsopoverzicht"));
|
ko.applyBindings(mh.SopOverzichtModel, document.getElementById("pagsopoverzicht"));
|
||||||
}
|
}
|
||||||
self.initModel();
|
$.post("index.php/monpas/overzichtsop/getSchooljarenEnCriteria", function(data){
|
||||||
},
|
|
||||||
|
|
||||||
initModel: function(){
|
|
||||||
var self =mh.SopOverzichtModel;
|
|
||||||
self.fGetSchooljaren();
|
|
||||||
},
|
|
||||||
|
|
||||||
fGetSchooljaren: function() {
|
|
||||||
var self =mh.SopOverzichtModel;
|
|
||||||
$.post("index.php/monpas/overzichtsop/getSchooljaren", function(data){
|
|
||||||
self.selectedSchooljaar(null);
|
self.selectedSchooljaar(null);
|
||||||
|
self.selectedCriterium(null);
|
||||||
self.schooljaren.removeAll();
|
self.schooljaren.removeAll();
|
||||||
if(data) {
|
self.criteria.removeAll();
|
||||||
$.each(data, function (i, s) {
|
self.bezig(true);
|
||||||
|
if(data){
|
||||||
|
|
||||||
|
$.each(data.schooljaren, function (i, s) {
|
||||||
self.schooljaren.push(new fAddSchooljaar(s));
|
self.schooljaren.push(new fAddSchooljaar(s));
|
||||||
});//each
|
});
|
||||||
if (self.schooljaren() ) self.selectedSchooljaar(self.schooljaren()[0]);
|
|
||||||
|
if (self.schooljaren()) self.selectedSchooljaar(self.schooljaren()[0]);
|
||||||
|
$.each(data.criteria, function (i, c) {
|
||||||
|
self.criteria.push(new fAddCriterium(c));
|
||||||
|
}); // each
|
||||||
|
self.selectedCriterium(self.criteria()[0]);
|
||||||
|
self.orgsoort(data.orgsoort);
|
||||||
|
|
||||||
} // if
|
} // if
|
||||||
self.fGetMenu();
|
self.initModel();
|
||||||
|
|
||||||
},'json')
|
},'json')
|
||||||
},
|
},
|
||||||
|
|
||||||
fGetMenu: function(){
|
initModel: function(){
|
||||||
var self = mh.SopOverzichtModel;
|
var self = mh.SopOverzichtModel;
|
||||||
var submitData = {
|
self.fGetOverzicht();
|
||||||
'schooljaarnr' : self.selectedSchooljaar().id,
|
|
||||||
'orgid' : 0
|
|
||||||
};
|
|
||||||
$.post("index.php/monpas/overzichtsop/getoverzicht", submitData , function(data){
|
|
||||||
self.toporg('');
|
|
||||||
if (data.organisatie){
|
|
||||||
|
|
||||||
self.orgsoort(data.soort);
|
|
||||||
self.orgsoort(data.soort);
|
|
||||||
switch (self.orgsoort()){
|
|
||||||
case 1: self.toporg(new fAddSWV(data.organisatie));
|
|
||||||
break;
|
|
||||||
case 2: self.toporg(new fAddKamer(data.organisatie));
|
|
||||||
break;
|
|
||||||
case 3: self.toporg(new fAddBG(data.organisatie));
|
|
||||||
break;
|
|
||||||
case 4: self.toporg(new fAddSchool(data.organisatie));
|
|
||||||
break;
|
|
||||||
} // switch
|
|
||||||
self.selectedOrg(self.toporg())}
|
|
||||||
},'json');
|
|
||||||
},
|
},
|
||||||
|
|
||||||
fChangeSchooljaar: function() {
|
fChangeSchooljaar: function() {
|
||||||
var self = mh.SopOverzichtModel;
|
var self = mh.SopOverzichtModel;
|
||||||
if (!self.selectedSchooljaar()) return;
|
if (!self.selectedSchooljaar()) return;
|
||||||
|
if(self.bezig()) return;
|
||||||
self.fGetOverzicht();
|
self.fGetOverzicht();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
fChangeCriterium: function() {
|
||||||
|
var self = mh.SopOverzichtModel;
|
||||||
|
if (!self.selectedCriterium()) return;
|
||||||
|
if(self.bezig()) return;
|
||||||
|
self.fGetOverzicht();
|
||||||
|
},
|
||||||
|
|
||||||
fGetOverzicht: function(){
|
fGetOverzicht: function(){
|
||||||
var self =mh.SopOverzichtModel;
|
var self = mh.SopOverzichtModel;
|
||||||
|
|
||||||
var submitData = {
|
var submitData = {
|
||||||
'schooljaarnr' : self.selectedSchooljaar().id,
|
'schooljaarnr' : self.selectedSchooljaar().id,
|
||||||
'orgid' : self.selectedOrg().id
|
'criteriumID' : self.selectedCriterium().id,
|
||||||
};
|
};
|
||||||
|
|
||||||
$.post("index.php/monpas/overzichtsop/getoverzicht", submitData , function(data){
|
$.post("index.php/monpas/overzichtsop/getoverzicht", submitData , function(data){
|
||||||
if (data.organisatie){
|
if (data){
|
||||||
self.orgsoort(data.soort);
|
self.selectedOrg('');
|
||||||
switch (self.orgsoort()){
|
self.topOrg('');
|
||||||
case 1: self.selectedOrg(new fAddSWV(data.organisatie));
|
|
||||||
break;
|
|
||||||
case 2: self.selectedOrg(new fAddKamer(data.organisatie));
|
if(data.criteriumscholen){
|
||||||
break;
|
self.topOrg(new fAddLabelOrg(data.criteriumscholen));
|
||||||
case 3: self.selectedOrg(new fAddBG(data.organisatie));
|
}
|
||||||
break;
|
|
||||||
case 4: self.selectedOrg(new fAddSchool(data.organisatie));
|
if(data.organisatie) {
|
||||||
break;
|
switch (Number(self.orgsoort())) {
|
||||||
} // switch
|
case 1:
|
||||||
|
self.selectedOrg(new fAddSWV(data.organisatie));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
self.selectedOrg(new fAddKamer(data.organisatie));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
self.selectedOrg(new fAddBG(data.organisatie));
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
self.selectedOrg(new fAddSchool(data.organisatie));
|
||||||
|
break;
|
||||||
|
} // switch
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
self.bezig(false);
|
||||||
},'json');
|
},'json');
|
||||||
},
|
},
|
||||||
|
|
||||||
// fGetAlfabetisch: function(){
|
|
||||||
// var self =mh.SopOverzichtModel;
|
|
||||||
// if(self.selectedOrg().soort === '3' || self.selectedOrg().soort === '4'){
|
|
||||||
// self.fGetOverzicht();
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// var submitData = {
|
|
||||||
// 'schooljaarnr' : self.selectedSchooljaar().id,
|
|
||||||
// 'orgid' : self.selectedOrg().id
|
|
||||||
// };
|
|
||||||
// $.post("index.php/monpas/overzichtsop/getAlfabetisch", submitData , function(data){
|
|
||||||
// if (data.organisatie){
|
|
||||||
// self.orgsoort(data.soort);
|
|
||||||
// if(self.orgsoort() === '1') self.selectedOrg(new fAddSWV(data.organisatie));
|
|
||||||
// if(self.orgsoort() === '2') self.selectedOrg(new fAddKamer(data.organisatie));
|
|
||||||
// }
|
|
||||||
// },'json');
|
|
||||||
// },
|
|
||||||
|
|
||||||
// fToggleGeopend: function(){
|
|
||||||
// var self =mh.SopOverzichtModel;
|
|
||||||
// this.geopend(!this.geopend());
|
|
||||||
// },
|
|
||||||
|
|
||||||
// fSwitchOrg: function(){
|
|
||||||
// var self =mh.SopOverzichtModel;
|
|
||||||
// if (self.selectedOrg() === undefined) return;
|
|
||||||
// if (this.id === self.selectedOrg().id) return;
|
|
||||||
// self.orgsoort('');
|
|
||||||
// self.selectedOrg(this);
|
|
||||||
// if (!self.alfabetisch()) self.fGetOverzicht();
|
|
||||||
// if (self.alfabetisch()) self.fGetAlfabetisch();
|
|
||||||
//
|
|
||||||
// },
|
|
||||||
|
|
||||||
fOpenPDF: function(){
|
fOpenPDF: function(){
|
||||||
var self =mh.SopOverzichtModel;
|
var self =mh.SopOverzichtModel;
|
||||||
var dit = this;
|
var dit = this;
|
||||||
|
|||||||
Reference in New Issue
Block a user