Merge branch 'feature/invulstatus' into develop

This commit is contained in:
Monique
2022-06-24 14:36:07 +02:00
13 changed files with 518 additions and 57 deletions
@@ -156,4 +156,59 @@ class Swvversies extends MY_Controller{
$modules = $this->Modules_model->getmodulesmetlijst(); $modules = $this->Modules_model->getmodulesmetlijst();
echo json_encode($modules); echo json_encode($modules);
} }
function getInvulstatus(){
if (!$this->userid) die;
$orgversie = $this->clean_input('orgversie');
$orgID = $this->clean_input('orgID');
$vorm = $this->clean_input('vorm');
$module = $this->clean_input('module');
$percentage = 0;
$ingevuld = 0;
$aantal = 0;
$mail = [];
$actiemail = [];
$orgsoort = $this->Organisaties_model->get_fieldvalue(['id'=>$orgID], 'soort');
$lijstorg = $this->Orgversies_model->get_fieldvalue(['id' =>$orgversie], 'organisatie_id');
$lijstsoort = $this->Organisaties_model->get_fieldvalue(['id'=>$lijstorg], 'soort');
if($lijstsoort == 1) $join = 'K.valtonder_id';
else $join = "K.id";
$status = FALSE;
if($vorm == 1){
$orgs = $this->Orgversies_model->getOrgsBijOrgversie($orgID, $orgversie, $orgsoort, $module, $join);
if($orgs){
foreach($orgs AS $org){
$status = $this->Filledversions_model->getMeetellen($orgversie, $org->schoolID, FALSE);
if($status) $org->status = $status;
if($status == 'meetellen') $ingevuld++;
}
}
}
if($vorm == 2) {
$orgs = $this->Orgversies_model->getUsersBijOrgversie($orgID, $orgversie, $orgsoort, $module, $join);
if($orgs){
foreach($orgs AS $org){
$status = $this->Filledversions_model->getMeetellen($orgversie, $org->schoolID, $org->gebruikerID);
if($status) $org->status = $status;
if($status == 'meetellen') $ingevuld++;
}
}
}
if($orgs){
$aantal = count($orgs);
$percentage = round($ingevuld/$aantal * 100);
}
echo json_encode(['status' => $orgs,
'lijsten' => $aantal,
'ingevuld' => $ingevuld,
'percentage' => $percentage
]);
}
} }
@@ -13,6 +13,7 @@ class Organisaties extends MY_Controller{
"monpas/Orgversies_model", "monpas/Orgversies_model",
"monpas/Filledversions_model", "monpas/Filledversions_model",
"monpas/Scores_model", "monpas/Scores_model",
"monpas/Schooldetails_model",
"monpas/Ambities_model", "monpas/Ambities_model",
"shared/Licenties_model"); "shared/Licenties_model");
$this->load->model($models); $this->load->model($models);
@@ -82,7 +83,15 @@ class Organisaties extends MY_Controller{
"actief" =>1, "actief" =>1,
); );
$newid = $this->Organisaties_model->insert_record($data); $newid = $this->Organisaties_model->insert_record($data);
$licenties = $this->input->post('licenties');
$data = [ 'organisatie_id' =>$newid,
'plaats' =>$this->clean_input("plaats"),
'email1' =>$this->clean_input("email"),
];
$this->Schooldetails_model->insert_record($data);
$licenties = $this->input->post('licenties');
if ($licenties){ if ($licenties){
foreach($licenties as $licentie){ foreach($licenties as $licentie){
$this->Licenties_model->insert_record(array("orgid"=>$newid, "modulenr"=>$licentie)); $this->Licenties_model->insert_record(array("orgid"=>$newid, "modulenr"=>$licentie));
@@ -156,6 +165,17 @@ class Organisaties extends MY_Controller{
// "mondiv" =>$mondiv // "mondiv" =>$mondiv
); );
$this->Organisaties_model->update_record($data,$orgid); $this->Organisaties_model->update_record($data,$orgid);
$detailsid = $this->Schooldetails_model->get_fieldvalue(["organisatie_id" =>$orgid], 'id');
if($detailsid){
$this->Schooldetails_model->update_record(["email1" =>$this->clean_input("email")], $detailsid);
}
else {
$data = [ 'organisatie_id' =>$orgid,
'plaats' =>$this->clean_input("plaats"),
'email1' =>$this->clean_input("email"),
];
$this->Schooldetails_model->insert_record($data);
}
$this->Licenties_model->delete_record_where(array("orgid"=>$orgid)); $this->Licenties_model->delete_record_where(array("orgid"=>$orgid));
$licenties = $this->input->post("licenties"); $licenties = $this->input->post("licenties");
if ($licenties){ if ($licenties){
+3 -2
View File
@@ -74,7 +74,8 @@ class MY_Controller extends CI_Controller{
// 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 // public $version = '1.17.99';// instrumenten ook voor leerlingen
// public $version = '1.18.00';// alle instrumenten in het compact sop // public $version = '1.18.00';// alle instrumenten in het compact sop
public $version = '1.18.02';// fout in resultaatmatrix // public $version = '1.18.02';// fout in resultaatmatrix
public $version = '1.18.03';// invul status
@@ -86,7 +87,7 @@ class MY_Controller extends CI_Controller{
public $globorgid; //orgid which has been chosen by user (only BG and SUPERUSER) public $globorgid; //orgid which has been chosen by user (only BG and SUPERUSER)
public $userbg; // TRUE or FALSE for orgid if this org is BG public $userbg; // TRUE or FALSE for orgid if this org is BG
public $globisbg; // TRUE or FALSE for globorgid if this org is BG public $globisbg; // TRUE or FALSE for globorgid if this org is BG
public $userrole; //role of the user logged in dwz autorisatienivo van de eigen organisatie public $userrole; //role of the nguser logged in dwz autorisatienivo van de eigen organisatie
// dus echt het nivo en niet het id van autorisatienivos // dus echt het nivo en niet het id van autorisatienivos
public $roleid; public $roleid;
public $super; //TRUE or FALSE for user SUPERUSER public $super; //TRUE or FALSE for user SUPERUSER
@@ -96,6 +96,10 @@ class Schoolafbeeldingen {
return $this->adviezen; return $this->adviezen;
} }
public function getSomscore(){
return $this->somscore;
}
private function setScores(){ private function setScores(){
$this->scores = $this->schoolscores->getScores(); $this->scores = $this->schoolscores->getScores();
} }
@@ -200,12 +200,13 @@ class Lijsten
private function setSchoolScores(){ private function setSchoolScores(){
if ($this->soort != 4 || $this->lijst->vorm != 1) return; if ($this->soort != 4 || $this->lijst->vorm != 1) return;
$this->schoolScores = new Schoolscores($this->lijst->orgversieid, $this->orgid); $this->schoolScores = new Schoolscores($this->lijst->orgversieid, $this->orgid);
if($this->schoolScores) { if($this->schoolScores) {
$this->metingen = 1;
$this->aantalorgs = 1;
$this->schoolAfbeeldingen = new Schoolafbeeldingen($this->schoolScores, $this->modulenr, $this->lijst->orgversieid, $this->schoolAfbeeldingen = new Schoolafbeeldingen($this->schoolScores, $this->modulenr, $this->lijst->orgversieid,
$this->clusterid, $this->orgid); $this->clusterid, $this->orgid);
$this->metingen = 0;
$this->aantalorgs = 1;
$somscore = $this->schoolAfbeeldingen->getSomscore();
if($somscore > 0) $this->metingen = 1;
} }
} }
@@ -301,7 +302,8 @@ class Lijsten
break; break;
case 4: if(empty($this->schoolScores) ||empty($this->gemiddeldeScores) ) return; case 4: if(empty($this->schoolScores) ||empty($this->gemiddeldeScores) ) return;
if(count((array) $this->schoolScores) > 0) { if(count((array) $this->schoolScores) > 0) {
$this->lijst->metingen = 1; $somscore = $this->schoolAfbeeldingen->getSomscore();
if($somscore > 0) $this->lijst->metingen = 1;
$this->lijst->aantalorgs = 1; $this->lijst->aantalorgs = 1;
} }
if(count((array)$this->gemiddeldeScores)> 0){ if(count((array)$this->gemiddeldeScores)> 0){
@@ -121,6 +121,7 @@ class Filledversions_model extends MY_Model{
JOIN tb_antwoordtypes A ON A.sysnr = OV.scoretype JOIN tb_antwoordtypes A ON A.sysnr = OV.scoretype
WHERE FV.organisatie_id ={$orgid} WHERE FV.organisatie_id ={$orgid}
AND V.modulenr = {$modulenr} AND V.modulenr = {$modulenr}
ORDER BY OV.periodenummer DESC"; ORDER BY OV.periodenummer DESC";
return $this->get_query_result(); return $this->get_query_result();
} }
@@ -139,6 +140,7 @@ class Filledversions_model extends MY_Model{
JOIN tb_versies V ON V.id =OV.versie_id JOIN tb_versies V ON V.id =OV.versie_id
WHERE FV.organisatie_id IN ($idlijst) WHERE FV.organisatie_id IN ($idlijst)
AND V.modulenr = {$module} AND V.modulenr = {$module}
AND FV.meetellen = 1
ORDER BY OV.geldigtm DESC"; ORDER BY OV.geldigtm DESC";
return $this->get_query_result(); return $this->get_query_result();
} }
@@ -490,13 +492,19 @@ class Filledversions_model extends MY_Model{
return $this->get_query_row('meting'); return $this->get_query_row('meting');
} }
function getMeetellen($orgversie, $orgid, $userid = FALSE){
$this->sql = " SELECT CASE WHEN meetellen = 1 THEN 'meetellen'
ELSE '(nog) niet meetellen'
END AS meetellen
FROM tb_filledversions
WHERE organisatie_id = {$orgid}
AND orgversie_id = {$orgversie} ";
if($userid){
$this->sql .= "AND user_id = {$userid}";
}
return $this->get_query_row('meetellen');
}
} }
@@ -200,5 +200,71 @@ class Orgversies_model extends MY_Model{
} }
function getOrgsBijOrgversie($orgID, $orgversie, $orgsoort, $module, $join){
$this->sql=" SELECT O.id AS schoolID, O.brin, O.naam AS school, BG.naam AS bg, K.naam AS kamer, SD.email1 AS mail,
'niet geopend' AS status
FROM tb_organisaties O
JOIN tb_organisaties BG ON O.valtonder_id = BG.id
JOIN tb_organisaties K ON BG.valtonder_id = K.id
JOIN tb_licenties L ON O.id = L.orgid
JOIN tb_orgversies OV ON OV.organisatie_id = {$join}
LEFT JOIN tb_schooldetails SD ON O.id = SD.organisatie_id
WHERE O.soort = 4
AND O.actief = 1
AND L.modulenr ={$module}
AND OV.id = {$orgversie} ";
if($orgsoort == 2){
$this->sql.="
AND K.id = {$orgID}
ORDER BY BG.naam, O.naam ";
}
else{
$this->sql.=" AND K.valtonder_id = {$orgID}
ORDER BY K.naam, BG.naam, O.naam ";
}
return $this->get_query_result();
}
function getUsersBijOrgversie($orgID, $orgversie, $orgsoort, $module, $join){
$this->sql=" SELECT O.id AS schoolID, O.brin, O.naam AS school, BG.naam AS bg, K.naam AS kamer, U.email AS mail,
U.id AS gebruikerID, Concat_ws(' ', U.voornaam, U.tussenvoegsel, U.achternaam) AS gebruiker,
'niet geopend' AS status, AN.naam AS autorisatie
FROM tb_organisaties O
JOIN tb_organisaties BG ON O.valtonder_id = BG.id
JOIN tb_organisaties K ON BG.valtonder_id = K.id
JOIN tb_orgusers OU ON OU.organisatie_id = O.id
JOIN tb_users U ON OU.user_id = U.id
JOIN tb_licenties L ON O.id = L.orgid
JOIN tb_orgversies OV ON OV.organisatie_id = {$join}
JOIN tb_autorisaties AU ON OU.id = AU.orguser_id
JOIN tb_autorisatienivos AN ON AU.nivo_id = AN.id
AND O.soort = 4
AND O.actief = 1
AND U.actief = 1
AND L.modulenr = {$module}
AND OV.id = {$orgversie}
AND AN.nivo < 1024
AND AN.nivo > 0
AND LENGTH(U.achternaam) > 2
";
if($orgsoort == 2){
$this->sql.="
AND K.id = {$orgID}
ORDER BY BG.naam, O.naam, U.achternaam
";
}
else{
$this->sql.="
AND K.valtonder_id = {$orgID}
ORDER BY K.naam, BG.naam, O.naam, U.achternaam ";
}
return $this->get_query_result();
}
} }
@@ -277,20 +277,22 @@ class Organisaties_model extends MY_Model{
function getorgsdetails($soort, $valtonder){ function getorgsdetails($soort, $valtonder){
$this->sql="SELECT id, soort, brin, naamkort, naam, $this->sql="SELECT O.id, O.soort, O.brin, O.naamkort, O.naam,
plaats,valtonder_id, actief, monbas, mondiv, O.plaats, O.valtonder_id, O.actief, O.monbas, O.mondiv,
bijlagefile O.bijlagefile, SD.email1
FROM tb_organisaties FROM tb_organisaties O
WHERE soort = {$soort} LEFT JOIN tb_schooldetails SD ON O.id = SD.organisatie_id
AND actief = 1"; WHERE O.soort = {$soort}
AND O.actief = 1";
if ($valtonder) { if ($valtonder) {
$this->sql .=" AND valtonder_id = {$valtonder} "; $this->sql .=" AND O.valtonder_id = {$valtonder} ";
}; };
return $this->get_query_result(); return $this->get_query_result();
} }
function getorgdetails($id){ function getorgdetails($id){
$this->sql="SELECT id, soort, brin, naamkort, naam, plaats,valtonder_id, actief,monbas, mondiv $this->sql="SELECT id, soort, brin, naamkort, naam, plaats,valtonder_id, actief,monbas, mondiv
FROM tb_organisaties FROM tb_organisaties
WHERE id= {$id} WHERE id= {$id}
ORDER BY naamkort "; ORDER BY naamkort ";
return $this->get_query_row(); return $this->get_query_row();
@@ -64,7 +64,7 @@
<td data-bind="text: nummer"></td> <td data-bind="text: nummer"></td>
<td data-bind="text: naamkort, attr:{'title': naam}"></td> <td data-bind="text: naamkort, attr:{'title': naam}"></td>
<td data-bind="text: plaats"></td> <td data-bind="text: plaats"></td>
<td class="klikbaar editbutton" data-bind="click:$root.fPopEditOrg.bind($data,4)"></td> <td class="klikbaar editbutton" data-bind="click:$root.fPopEditOrg.bind($data,4)"></td>
<td ><button class="noshow delete" data-bind="click: $root.fDeleteOrg.bind($data,4) "></button></td> <td ><button class="noshow delete" data-bind="click: $root.fDeleteOrg.bind($data,4) "></button></td>
</tr> </tr>
</tbody> </tbody>
@@ -99,6 +99,10 @@
<td>Plaats</td> <td>Plaats</td>
<td><input data-bind="textInput: plaats" style="width: 100%"/></td> <td><input data-bind="textInput: plaats" style="width: 100%"/></td>
</tr> </tr>
<tr>
<td>Email</td>
<td><input data-bind="textInput: email" style="width: 100%"/></td>
</tr>
<tr> <tr>
<td>Actief</td> <td>Actief</td>
<td><input type="checkbox" data-bind="checked: actief"/></td> <td><input type="checkbox" data-bind="checked: actief"/></td>
@@ -172,6 +176,10 @@
<td>Plaats</td> <td>Plaats</td>
<td><input data-bind="textInput: newPlaats" style="width: 100%"/></td> <td><input data-bind="textInput: newPlaats" style="width: 100%"/></td>
</tr> </tr>
<tr>
<td>Email</td>
<td><input data-bind="textInput: newEmail" style="width: 100%"/></td>
</tr>
<tr> <tr>
<td colspan=2> <hr/></td> <td colspan=2> <hr/></td>
</tr> </tr>
+193 -15
View File
@@ -1,20 +1,20 @@
<div class="col-sm-12 mainpagina submenupage" id ="pagSWVversies"> <div class="col-sm-12 mainpagina submenupage" id ="pagSWVversies">
<div class="col-sm-12 col-md-3"> <div class="col-sm-12 col-md-2">
<h4 style="margin-top:20px"> selecteer een organisatie</h4> <h4 style="margin-top:20px"> selecteer een organisatie</h4>
<div style="width: 99% ; height: 500px; overflow-y:auto; margin-top:20px"> <div style="width: 99% ; height: 500px; overflow-y:auto; margin-top:20px">
<ul data-bind= "foreach: swvs" class="lsul "> <ul data-bind= "foreach: swvs" class="lsul ">
<li class= 'header clickable' data-bind="text: naam, click: $parent.fSetSelectedOrg"></li> <li class= 'header clickable' style="text-align: left; padding: 5px; " data-bind="text: naam, click: $parent.fSetSelectedOrg"></li>
<li data-bind="visible: kamers().length > 0"> <li data-bind="visible: kamers().length > 0">
<ul data-bind="foreach: kamers"> <ul data-bind="foreach: kamers" class="lsul ">
<li class="clickable" data-bind="text: naam, click: $root.fSetSelectedOrg"></li> <li class="clickable" style="text-align: left; padding: 5px; " data-bind="text: naam, click: $root.fSetSelectedOrg"></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div><!-- kolom links --> </div><!-- kolom links -->
<div class="col-sm-12 col-md-9" > <div class="col-sm-12 col-md-10" >
<div class="col-sm-12"> <div class="col-sm-12">
<h3>Instrument <h3>Instrument
<select <select
@@ -34,17 +34,19 @@
<table style="width: 100%; margin-top:20px;"> <table style="width: 100%; margin-top:20px;">
<thead> <thead>
<tr> <tr>
<th style="width: 3%">A</th> <th style="width: 5%" >actief</th>
<th style="width: 12%">geldig vanaf</th> <th style="width: 10%" >geldig vanaf</th>
<th style="width: 12%">geldig t.m</th> <th style="width: 10%" >geldig t/m</th>
<th style="width: 20%">versie</th> <th style="width: 5%" >nr</th>
<th style="width: 15%">vorm</th> <th style="width: 15%" >versie</th>
<th style="width: 20%; ">score type</th> <th style="width: 14%" >vorm</th>
<th style="width: 3%;"> <th style="width: 17%" >score type</th>
S <sup style="font-weight: bold" data-bind="click: $parent.fToonInfoTekst">i</sup> <th style="width: 5%" >
score-tekst<sup style="font-weight: bold" data-bind="click: $parent.fToonInfoTekst">i</sup>
</th> </th>
<th style="width: 13%">invullen tot</th> <th style="width: 10%" >invullen tot</th>
<th style="width: 3%"> </th> <th style="width: 5%" >status</th>
<th style="width: 4%" ></th>
</tr> </tr>
</thead> </thead>
<tbody data-bind="foreach: $parent.koppelingen"> <tbody data-bind="foreach: $parent.koppelingen">
@@ -58,6 +60,7 @@
<td><input class= "datum" <td><input class= "datum"
data-bind="datepicker:{minDate: geldigvanaf}, value: geldigtm, event: {change: $root.fUpdateKoppeling}" /> data-bind="datepicker:{minDate: geldigvanaf}, value: geldigtm, event: {change: $root.fUpdateKoppeling}" />
</td> </td>
<td data-bind="text: nummer"></td>
<td data-bind="text: naam"> </td> <td data-bind="text: naam"> </td>
<td> <td>
<select data-bind="options: $root.vormarray, <select data-bind="options: $root.vormarray,
@@ -86,6 +89,9 @@
<td><input class= "datum" <td><input class= "datum"
data-bind="datepicker{minDate: geldigvanaf, maxDate: geldigtm}, value: invullentm, event: {change: $root.fUpdateKoppeling}" /> data-bind="datepicker{minDate: geldigvanaf, maxDate: geldigtm}, value: invullentm, event: {change: $root.fUpdateKoppeling}" />
</td> </td>
<td ><button data-bind="click: $root.fToonStatus " style="width: 99%; height: 25px;padding: 0; padding-top: 1px; background-color: #ded0d7; ">toon
</button>
</td>
<td><button class="delete" <td><button class="delete"
data-bind="click: $root.fDeleteKoppeling, visible:wijzigok"> </button> </td> data-bind="click: $root.fDeleteKoppeling, visible:wijzigok"> </button> </td>
</tr> </tr>
@@ -94,6 +100,170 @@
</div> </div>
</div> <!-- kolom rechts --> </div> <!-- kolom rechts -->
<!-- ******************** popups ************************** --> <!-- ******************** popups ************************** -->
<div class="modal fade " id="modInvulStatus" role="dialog">
<div class="modal-dialog " style="width: 95%; display: block; ">
<div class="modal-content">
<div class="modal-header">
<button style="width: 20px; float: right; padding:2px; padding-bottom: 10px; ; color: #6F0B3D" data-dismiss="modal" >x</button>
<p><span data-bind="text: selectedModule() ? selectedModule().naam: '' "></span>
<span>, lijst nr</span>
<span data-bind="text: selectedOrgversie() ? selectedOrgversie().nummer + ' ' + selectedOrgversie().naam +
', ' + selectedOrgversie().geldigvanaf() + ' t/m ' + selectedOrgversie().geldigtm() : ' ' ">
</span>
</p>
<p>
<span data-bind="text: selectedOrgversie() ? selectedOrgversie().vorm == 1 ? 'schoolversie' : 'individuele versie' : ' ' ">
</span>
</p>
</div>
<div class="modal-body">
<div class="row">
<div class="col-xs-3">
<table style="margin-bottom: 20px; border: 1px solid gainsboro;">
<thead>
<tr><th colspan="2" style="color: #ffffff; background-color: #6F0B3D; vertical-align: top;">
status
</th>
</tr>
</thead>
<tbody>
<tr>
<td data-bind="text: selectedOrgversie() && selectedOrgversie().vorm() == 2 ? 'aantal gebruikers: ': 'aantal scholen: ' "
style="border-left: 1px solid gainsboro; border-right: 1px solid gainsboro" >
</td>
<td data-bind="text: aantalLijsten "
style="text-align: right; border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">
</td>
</tr>
<tr>
<td style="border-left: 1px solid gainsboro; border-right: 1px solid gainsboro" >ingevuld en meetellen:
</td>
<td data-bind="text: ingevuld " style="text-align: right; border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">
</td>
</tr>
<tr>
<td style="border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">percentage:
</td>
<td data-bind="text: percentage() + '%' "
style="text-align: right; border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">
</td>
</tr>
</tbody>
</table>
</div>
<div class="col-xs-9">
<div data-bind="visible: toonAdressen()== false" >
<button data-bind="text: selectedOrgversie() && selectedOrgversie().vorm() == 2 ? 'alle mailadressen' : 'mailadressen' , click: fGetAdressen.bind($data, 'alle') " style="margin-right: 10px;"></button>
<div data-bind="visible: selectedOrgversie() && selectedOrgversie().vorm() == 2 ">
<button data-bind="click: fGetAdressen.bind($data, 'manage') " style="margin-right: 10px;">mail management</button>
<button data-bind="click: fGetAdressen.bind($data, 'mede') " style="margin-right: 10px;">mail medewerkers</button>
</div>
</div>
<div data-bind="visible: toonAdressen()== true" >
<textarea rows="10" cols="100" id ="mails" data-bind="textInput: maillijst "></textarea>
<br>
<!-- <button style="margin-bottom: 5px;" data-bind="click: fCopyAdressen">kopieer</button>-->
<!-- <br>-->
<button style="margin-bottom: 5px;" data-bind="click: fSluitAdressen">sluit</button>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<table class="lstable" style="width: 100%;" >
<thead>
<tr >
<th style="color: #ffffff;background-color: #6F0B3D; vertical-align: top; width: 8%;
border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">brin
</th>
<th style="color: #ffffff;background-color: #6F0B3D; vertical-align: top; width: 17%;
border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">school</th>
<!--ko if: selectedOrgversie() && selectedOrgversie().vorm() == 2 -->
<th style="color: #ffffff;background-color: #6F0B3D; vertical-align: top; width: 17%;
border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">gebruiker
</th>
<th style="color: #ffffff;background-color: #6F0B3D; vertical-align: top; width: 18%;
border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">autorisatie
</th>
<!--/ko -->
<th style="color: #ffffff; background-color: #6F0B3D; vertical-align: top; width: 25%;
border-left: 1px solid gainsboro; border-right: 1px solid gainsboro; word-break: break-all">email
</th>
<th style="color: #ffffff; background-color: #6F0B3D;vertical-align: top; width: 15%;
border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">status
</th>
</tr>
</thead>
<tbody data-bind="foreach: statussen">
<!--ko if: $index() == 0 || ($index() != 0 && $parent.statussen()[$index()-1].kamer != kamer ) -->
<tr >
<td data-bind="text: kamer,
attr: {'colspan': $parent.selectedOrgversie() && $parent.selectedOrgversie().vorm() == 2 ? 6 : 4 }"
style="background-color: #ded0d7;color: #6F0B3D; text-align: center; vertical-align: top;
border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">
</td>
</tr>
<!--/ko-->
<!--ko if: $index() == 0 || ($index() != 0 && $parent.statussen()[$index()-1].bestuur != bestuur ) -->
<tr>
<td data-bind="text: bestuur,
attr: {'colspan': $parent.selectedOrgversie() && $parent.selectedOrgversie().vorm() == 2 ? 6 : 4 }"
style="background-color: #f5f0f2;color: #6F0B3D; text-align: center; vertical-align: top;
border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">
</td>
</tr>
<!--/ko-->
<tr>
<td data-bind="text: brin"
style="vertical-align: top; border-left: 1px solid gainsboro;border-right: 1px solid gainsboro">
</td>
<td data-bind="text: school"
style="vertical-align: top; border-left: 1px solid gainsboro; border-right: 1px solid gainsboro"></td>
<!--ko if: $parent.selectedOrgversie() && $parent.selectedOrgversie().vorm() == 2 -->
<td data-bind="text: gebruiker "
style="vertical-align: top; border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">
</td>
<td data-bind="text: autorisatie "
style="vertical-align: top; border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">
</td>
<!--/ko -->
<td data-bind="text: mail"
style="vertical-align: top; border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">
</td>
<td data-bind="text: status"
style="vertical-align: top; border-left: 1px solid gainsboro; border-right: 1px solid gainsboro">
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="modal-footer">
<button style="width: 80px;" data-dismiss="modal" >sluit</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="modNieuweKoppeling" role="dialog" > <div class="modal fade" id="modNieuweKoppeling" role="dialog" >
<div class="modal-dialog "> <div class="modal-dialog ">
<div class="modal-content"> <div class="modal-content">
@@ -155,4 +325,12 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
+12 -15
View File
@@ -180,10 +180,10 @@ ls.initIJkpuntenModel = function(){
var index = i; var index = i;
var dit = this; var dit = this;
this.aantalScores = ko.observable(0); // dit.aantalScores = ko.observable(0);
if(index){ // if(index){
dit.aantalScores(index + 1); // dit.aantalScores(index + 1);
} // }
this.nummer = s.nummer; this.nummer = s.nummer;
this.omschrijving = s.omschrijving; this.omschrijving = s.omschrijving;
this.toelichting = s.toelichting; this.toelichting = s.toelichting;
@@ -432,15 +432,13 @@ ls.initIJkpuntenModel = function(){
var selectie = []; var selectie = [];
if(self.selectedSerie()) { if(self.selectedSerie()) {
$.each(self.selectedSerie().periodes(), function (i, p) { $.each(self.selectedSerie().periodes(), function (i, p) {
console.log(p, "periode")
console.log(p.geselecteerd(), "geslecteerd")
if (p.geselecteerd()=== true) { if (p.geselecteerd()=== true) {
var orgversie = var orgversie =
{'orgversieid': p.orgversieid, {'orgversieid': p.orgversieid,
'vorm' : p.vorm }; 'vorm' : p.vorm };
self.selectie.push(orgversie); self.selectie.push(orgversie);
console.log(self.selectie(), "selectie")
} }
}) })
} }
@@ -458,7 +456,6 @@ ls.initIJkpuntenModel = function(){
showAjaxLoader(); showAjaxLoader();
$.post('index.php/monpas/rapijkpunten/getingevuldelijsten/', submitData, function(result){ $.post('index.php/monpas/rapijkpunten/getingevuldelijsten/', submitData, function(result){
console.log(result, "result")
self.erzijnlijsten(false); self.erzijnlijsten(false);
self.nietIngevuld(false); self.nietIngevuld(false);
self.medewerkerKiezen(false); self.medewerkerKiezen(false);
@@ -467,13 +464,14 @@ ls.initIJkpuntenModel = function(){
self.ijkpunten.removeAll(); self.ijkpunten.removeAll();
self.aantal(''); self.aantal('');
var teller = 0; var teller = 0;
if( result.lijsten[0].metingen > 0 ) { if( Number(result.lijsten[0].resultaten.totgem) > 0 ) {
console.log("metingen groter dan 0");
$.each(result.lijsten, function (i, p) { $.each(result.lijsten, function (i, p) {
if (p.scores || p.vergelijkingen) { if (p.scores || p.vergelijkingen) {
self.erzijnlijsten(true); self.erzijnlijsten(true);
self.nietIngevuld(false) self.nietIngevuld(false)
} }
if(self.erzijnlijsten === false){ if(!self.erzijnlijsten()){
self.nietIngevuld(true) self.nietIngevuld(true)
} }
if(i === 0 && p.orgversie){ if(i === 0 && p.orgversie){
@@ -532,10 +530,10 @@ ls.initIJkpuntenModel = function(){
self.selectedUser(self.users()[0]); self.selectedUser(self.users()[0]);
} }
} }
else{ // else{
//
self.fGetVergelijkbareVersies(); // self.fGetVergelijkbareVersies();
} // }
}, 'json').always(function(){ }, 'json').always(function(){
hideAjaxLoader() } ); hideAjaxLoader() } );
@@ -548,7 +546,6 @@ ls.initIJkpuntenModel = function(){
self.isSWV(false); self.isSWV(false);
if (self.selectedOrg() === undefined) return; if (self.selectedOrg() === undefined) return;
if (this.id === self.selectedOrg().id) return; if (this.id === self.selectedOrg().id) return;
console.log("in switch org")
self.selectedOrg(this); self.selectedOrg(this);
if(self.selectedOrg().soort === '1'){ if(self.selectedOrg().soort === '1'){
self.isSWV(true); self.isSWV(true);
+11 -2
View File
@@ -7,7 +7,8 @@ ls.initOrganisatiesModel = function(){
this.naam = ko.observable(p.naam); this.naam = ko.observable(p.naam);
this.naamkort = ko.observable(p.naamkort); this.naamkort = ko.observable(p.naamkort);
this.plaats = ko.observable(p.plaats); this.plaats = ko.observable(p.plaats);
this.nummer = ko.observable(p.brin); this.email = ko.observable(p.email1 ? p.email1 : '')
this.nummer = ko.observable(p.brin);
this.soort = p.soort; this.soort = p.soort;
this.valtonder_id = p.valtonder_id; this.valtonder_id = p.valtonder_id;
this.actief = ko.observable(false); this.actief = ko.observable(false);
@@ -20,11 +21,11 @@ ls.initOrganisatiesModel = function(){
} }
function fAddEditOrg(p){ function fAddEditOrg(p){
this.id = p.id this.id = p.id
this.naam = ko.observable(p.naam()); this.naam = ko.observable(p.naam());
this.naamkort = ko.observable(p.naamkort()); this.naamkort = ko.observable(p.naamkort());
this.plaats = ko.observable(p.plaats()); this.plaats = ko.observable(p.plaats());
this.email = ko.observable(p.email())
this.nummer = ko.observable(p.nummer()); this.nummer = ko.observable(p.nummer());
this.soort = p.soort; this.soort = p.soort;
this.valtonder_id = p.valtonder_id; this.valtonder_id = p.valtonder_id;
@@ -70,6 +71,7 @@ ls.initOrganisatiesModel = function(){
newNaam : ko.observable(''), newNaam : ko.observable(''),
newNaamkort : ko.observable(''), newNaamkort : ko.observable(''),
newPlaats : ko.observable(''), newPlaats : ko.observable(''),
newEmail : ko.observable(''),
newMonbas : ko.observable(false), newMonbas : ko.observable(false),
newMondiv : ko.observable(false) newMondiv : ko.observable(false)
}), }),
@@ -159,6 +161,7 @@ ls.initOrganisatiesModel = function(){
self.newOrg().newNaam(''); self.newOrg().newNaam('');
self.newOrg().newNaamkort(''); self.newOrg().newNaamkort('');
self.newOrg().newPlaats(''); self.newOrg().newPlaats('');
self.newOrg().newEmail('');
self.newOrg().newMonbas(true); self.newOrg().newMonbas(true);
self.newOrg().newMondiv(true); self.newOrg().newMondiv(true);
// haal modules op // haal modules op
@@ -175,6 +178,7 @@ ls.initOrganisatiesModel = function(){
self.newOrg().newNaam(''); self.newOrg().newNaam('');
self.newOrg().newNaamkort(''); self.newOrg().newNaamkort('');
self.newOrg().newPlaats(''); self.newOrg().newPlaats('');
self.newOrg().newEmail('');
self.newOrg().newMonbas(true); self.newOrg().newMonbas(true);
self.newOrg().newMondiv(true); self.newOrg().newMondiv(true);
self.fGetModules(0); self.fGetModules(0);
@@ -190,6 +194,7 @@ ls.initOrganisatiesModel = function(){
self.newOrg().newNaam(''); self.newOrg().newNaam('');
self.newOrg().newNaamkort(''); self.newOrg().newNaamkort('');
self.newOrg().newPlaats(''); self.newOrg().newPlaats('');
self.newOrg().newEmail('');
self.newOrg().newMonbas(true); self.newOrg().newMonbas(true);
self.newOrg().newMondiv(true); self.newOrg().newMondiv(true);
self.fGetModules(0); self.fGetModules(0);
@@ -205,6 +210,7 @@ ls.initOrganisatiesModel = function(){
self.newOrg().newNaam(''); self.newOrg().newNaam('');
self.newOrg().newNaamkort(''); self.newOrg().newNaamkort('');
self.newOrg().newPlaats(''); self.newOrg().newPlaats('');
self.newOrg().newEmail('');
self.newOrg().newMonbas(true); self.newOrg().newMonbas(true);
self.newOrg().newMondiv(true); self.newOrg().newMondiv(true);
self.fGetModules(0); self.fGetModules(0);
@@ -239,6 +245,7 @@ ls.initOrganisatiesModel = function(){
'naam' : self.newOrg().newNaam(), 'naam' : self.newOrg().newNaam(),
'naamkort' : self.newOrg().newNaamkort(), 'naamkort' : self.newOrg().newNaamkort(),
'plaats' : self.newOrg().newPlaats(), 'plaats' : self.newOrg().newPlaats(),
'email' : self.newOrg().newEmail(),
'licenties' : licenties 'licenties' : licenties
// 'monbas' : self.newOrg().newMonbas(), // 'monbas' : self.newOrg().newMonbas(),
// 'mondiv' : self.newOrg().newMondiv() // 'mondiv' : self.newOrg().newMondiv()
@@ -357,6 +364,7 @@ ls.initOrganisatiesModel = function(){
naamkort : self.editOrg().naamkort(), naamkort : self.editOrg().naamkort(),
naam : self.editOrg().naam(), naam : self.editOrg().naam(),
plaats : self.editOrg().plaats(), plaats : self.editOrg().plaats(),
email : self.editOrg().email(),
actief : self.editOrg().actief(), actief : self.editOrg().actief(),
licenties : licenties licenties : licenties
}; };
@@ -371,6 +379,7 @@ ls.initOrganisatiesModel = function(){
self.oldOrg().naam(self.editOrg().naam()); self.oldOrg().naam(self.editOrg().naam());
self.oldOrg().naamkort(self.editOrg().naamkort()); self.oldOrg().naamkort(self.editOrg().naamkort());
self.oldOrg().plaats(self.editOrg().plaats()); self.oldOrg().plaats(self.editOrg().plaats());
self.oldOrg().email(self.editOrg().email());
self.oldOrg().actief(self.editOrg().actief()); self.oldOrg().actief(self.editOrg().actief());
self.oldOrg().monbas(self.editOrg().monbas()); self.oldOrg().monbas(self.editOrg().monbas());
self.oldOrg().mondiv(self.editOrg().mondiv()); self.oldOrg().mondiv(self.editOrg().mondiv());
+112 -1
View File
@@ -35,7 +35,8 @@ ls.initSWVversiesModel = function(){
function fAddKoppeling(p){ function fAddKoppeling(p){
var dit = this; var dit = this;
this.id = p.id this.id = p.id;
this.nummer = p.periodenummer ? p.periodenummer : '' ;
this.versieid = p.versie_id; this.versieid = p.versie_id;
this.actief = ko.observable(true); this.actief = ko.observable(true);
if (p.actief == 0) this.actief(false); if (p.actief == 0) this.actief(false);
@@ -60,6 +61,17 @@ ls.initSWVversiesModel = function(){
} }
function fAddStatus(i,s){
this.brin = s.brin;
this.school = s.school;
this.bestuur = s.bg;
this.kamer = s.kamer;
this.gebruiker = s.gebruiker ? s.gebruiker : '';
this.autorisatie = s.autorisatie ? s.autorisatie : '' ;
this.mail = s.mail && s.mail.length > 3 ? s.mail: '';
this.status = s.status;
}
function fAddVersie(k){ function fAddVersie(k){
this.id = k.id this.id = k.id
this.naam = k.naam; this.naam = k.naam;
@@ -75,8 +87,10 @@ ls.initSWVversiesModel = function(){
bgs : ko.observableArray([]), bgs : ko.observableArray([]),
orgtype : ko.observable(1), // 1 = swvs en kamers 2=bgs orgtype : ko.observable(1), // 1 = swvs en kamers 2=bgs
selectedOrg : ko.observable(), selectedOrg : ko.observable(),
selectedOrgversie : ko.observable(),
versies : ko.observableArray([]), versies : ko.observableArray([]),
koppelingen : ko.observableArray([]), koppelingen : ko.observableArray([]),
statussen : ko.observableArray([]),
newKoppelingVersie : ko.observable(), newKoppelingVersie : ko.observable(),
newKoppelingGeldigvanaf : ko.observable(), newKoppelingGeldigvanaf : ko.observable(),
newKoppelingGeldigtm : ko.observable(), newKoppelingGeldigtm : ko.observable(),
@@ -92,6 +106,11 @@ ls.initSWVversiesModel = function(){
{id: 3, naam: 'ja/nee/bezig'}]), {id: 3, naam: 'ja/nee/bezig'}]),
modules : ko.observableArray([]), modules : ko.observableArray([]),
selectedModule : ko.observable(''), selectedModule : ko.observable(''),
aantalLijsten : ko.observable(0),
ingevuld : ko.observable(0),
percentage : ko.observable(0),
maillijst : ko.observable(''),
toonAdressen : ko.observable(false),
toonOptie : ko.pureComputed(function(){ toonOptie : ko.pureComputed(function(){
var toon = true; var toon = true;
if(ls.SWVversiesModel && (ls.SWVversiesModel.newScoretype()== '1' || if(ls.SWVversiesModel && (ls.SWVversiesModel.newScoretype()== '1' ||
@@ -176,6 +195,98 @@ ls.initSWVversiesModel = function(){
}, },
fToonStatus: function(){
var self =ls.SWVversiesModel;
self.statussen.removeAll();
self.ingevuld(0);
self.aantalLijsten(0);
self.percentage(0);
var submitData = {
orgversie: this.id,
vorm : this.vorm(),
orgID : self.selectedOrg().id,
module : self.selectedModule().sysnr
};
self.selectedOrgversie(this);
$.post("index.php/monpas/swvversies/getinvulstatus" ,submitData, function(result){
if(!result.status) {
apprise("Er zijn geen licenties gevonden.")
}
else{
if(result.ingevuld <= 0) {
apprise("Er zijn geen ingevulde versies")
}
else{
self.aantalLijsten(result.lijsten);
self.ingevuld(result.ingevuld);
self.percentage(result.percentage);
$.each(result.status, function (i, s) {
self.statussen.push(new fAddStatus(i, s))
})
$("#modInvulStatus").modal('show');
}
}
},'json');
},
fGetAdressen: function(type){
var self =ls.SWVversiesModel;
self.toonAdressen(false);
self.maillijst('');
$.each(self.statussen(), function(i, s){
if(s.mail) {
switch (type) {
case 'alle': self.maillijst(self.maillijst() + s.mail + '; ');
break;
case 'manage':
if (s.autorisatie == 'School Management') {
self.maillijst(self.maillijst() + s.mail + '; ')
}
break;
case 'mede': if (s.autorisatie == 'School Medewerker') {
self.maillijst(self.maillijst() + s.mail + '; ')
}
break;
}
}
});
if(self.maillijst().length > 3){
self.toonAdressen(true)
}
else{apprise('geen emailadressen'
)}
},
fSluitAdressen: function(){
var self =ls.SWVversiesModel;
self.toonAdressen(false);
},
fCopyAdressen: function(){
var self =ls.SWVversiesModel;
// var mails = document.getElementById("mails")
var mails = self.maillijst()
console.log(mails, "mails")
// mails.select();
navigator.clipboard.writeText(mails);
apprise(mails)
},
fNieuweKoppeling: function(){ fNieuweKoppeling: function(){
var self =ls.SWVversiesModel; var self =ls.SWVversiesModel;
// hier moet wel rekening gehouden worden met de module!! // hier moet wel rekening gehouden worden met de module!!