563 lines
21 KiB
JavaScript
563 lines
21 KiB
JavaScript
$(function(){
|
|
var timeout;
|
|
|
|
mh.initInvulModel = function(){
|
|
|
|
function fAddSchooljaar(s){
|
|
this.nummer = s.schooljaarnr;
|
|
this.naam = s.naam;
|
|
}
|
|
|
|
function fAddArrangement( x, a){
|
|
|
|
|
|
var dit = this;
|
|
this.arrangementid = a.id;
|
|
this.naam = a.naam;
|
|
this.looptijd = a && a.lengte ==='L' ?'≥ 6 wkn': '< 6 wkn';
|
|
this.leeftijd = a.leeftijd;
|
|
this.aantal = ko.observable(a && a.huidig.aantal ? a.huidig.aantal : 0);
|
|
this.bewaarAantal = ko.observable(a && a.huidig.aantal ? a.huidig.aantal : 0);
|
|
this.selected = ko.observable(false);
|
|
this.archief = ko.observable(false);
|
|
if(a.huidig.archief && a.huidig.archief === 'T'){
|
|
dit.archief(true);
|
|
}
|
|
}
|
|
|
|
function fAddTLV(y,t){
|
|
this.tlvid = t.id;
|
|
this.aantal = ko.observable(t.aantal ? t.aantal : 0);
|
|
this.soort = ko.observable(t.soort ? t.soort.toLowerCase(): '');
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (mh.InvulModel !== undefined){
|
|
mh.InvulModel.initModel();
|
|
}
|
|
else {
|
|
mh.InvulModel = {
|
|
schooljaren : ko.observableArray([]),
|
|
arrangementen : ko.observableArray([]),
|
|
selectedSchooljaar : ko.observable(''),
|
|
schooljanee : ko.observable(false),
|
|
editok : ko.observable(false),
|
|
meetellen : ko.observable(false),
|
|
heeftleerlingen : ko.observable(false),
|
|
aantalleerlingen : ko.observable(0),
|
|
bewaarleerlingen : ko.observable(0),
|
|
toontabel : ko.observable(false),
|
|
druk : ko.observable(false),
|
|
nieuwArrangement : ko.observable(false),
|
|
naamNieuw : ko.observable(''),
|
|
leeftijdNieuw : ko.observable(''),
|
|
aantalNieuw : ko.observable(''),
|
|
looptijdNieuw : ko.observable('L'),
|
|
laag : ko.observable(0),
|
|
bewaarLaag : ko.observable(0),
|
|
laagID : ko.observable(0),
|
|
midden : ko.observable(0),
|
|
bewaarMidden : ko.observable(0),
|
|
middenID : ko.observable(0),
|
|
hoog : ko.observable(0),
|
|
bewaarHoog : ko.observable(0),
|
|
hoogID : ko.observable(0),
|
|
licht : ko.observable(0),
|
|
bewaarLicht : ko.observable(0),
|
|
lichtID : ko.observable(0),
|
|
zwaar : ko.observable( 0),
|
|
bewaarZwaar : ko.observable(0),
|
|
zwaarID : ko.observable(0),
|
|
notitie : ko.observable(''),
|
|
totaalTLVs : ko.pureComputed(function(){
|
|
var som = 0;
|
|
if(mh.InvulModel){
|
|
som = Number(mh.InvulModel.laag()) + Number(mh.InvulModel.midden()) +
|
|
Number(mh.InvulModel.hoog())+ Number(mh.InvulModel.licht())+
|
|
Number(mh.InvulModel.zwaar())
|
|
return som;
|
|
}
|
|
}),
|
|
totaalSO : ko.pureComputed(function(){
|
|
var som = 0;
|
|
if(mh.InvulModel){
|
|
som = Number(mh.InvulModel.laag()) + Number(mh.InvulModel.midden()) +
|
|
Number(mh.InvulModel.hoog());
|
|
|
|
return som;
|
|
}
|
|
}),
|
|
totaalSBO : ko.pureComputed(function(){
|
|
var som = 0;
|
|
if(mh.InvulModel){
|
|
som = Number(mh.InvulModel.licht())+
|
|
Number(mh.InvulModel.zwaar())
|
|
return som;
|
|
}
|
|
}),
|
|
|
|
totaalArr : ko.pureComputed(function(){
|
|
var som = 0;
|
|
if(mh.InvulModel){
|
|
if(mh.InvulModel.arrangementen() || mh.InvulModel.aantalNieuw()){
|
|
if(mh.InvulModel.arrangementen()) {
|
|
for(var x = 0; x < mh.InvulModel.arrangementen().length; x++){
|
|
if(mh.InvulModel.arrangementen()[x].archief()== false) {
|
|
som = som + Number(mh.InvulModel.arrangementen()[x].aantal());
|
|
}
|
|
}
|
|
}
|
|
if(mh.InvulModel.aantalNieuw()){
|
|
som = som + Number(mh.InvulModel.aantalNieuw());
|
|
}
|
|
}
|
|
return som;
|
|
}
|
|
|
|
}),
|
|
tekensTeGaan : ko.pureComputed(function(){
|
|
var aantal = 20;
|
|
if(mh.InvulModel && mh.InvulModel.naamNieuw()){
|
|
aantal = 20 - Number(mh.InvulModel.naamNieuw().length)
|
|
}
|
|
return aantal;
|
|
}),
|
|
|
|
|
|
initBindings :function(){
|
|
var self = mh.InvulModel;
|
|
|
|
ko.applyBindings(mh.InvulModel, document.getElementById("paginvullenextra"));
|
|
$.post('index.php/monpas/omvang/getrechten', function (result) {
|
|
self.editok(result);
|
|
self.initModel();
|
|
}, 'json');
|
|
},
|
|
|
|
initModel: function(){
|
|
var self = mh.InvulModel;
|
|
$.post("index.php/shared/organisaties/controleerschool", function (result){
|
|
self.schooljanee(result);
|
|
if (self.schooljanee() ){
|
|
self.druk(true);
|
|
self.fGetSchooljaren();
|
|
}
|
|
},'json');
|
|
},
|
|
|
|
fGetSchooljaren: function(callback){
|
|
var self = mh.InvulModel;
|
|
$.post("index.php/shared/schooljaren/getschooljaren", function(data){
|
|
self.selectedSchooljaar('')
|
|
self.schooljaren.removeAll();
|
|
|
|
|
|
if(data) {
|
|
$.each(data, function (i, s) {
|
|
self.schooljaren.push(new fAddSchooljaar(s));
|
|
});//each
|
|
|
|
|
|
} // if
|
|
|
|
},'json')
|
|
},
|
|
|
|
|
|
fSelecteerSchooljaar: function(){
|
|
var self = mh.InvulModel;
|
|
if(self.selectedSchooljaar() && self.selectedSchooljaar().nummer > 0){
|
|
self.fGetOmvang();
|
|
}
|
|
|
|
},
|
|
|
|
fGetOmvang: function(){
|
|
var self = mh.InvulModel;
|
|
self.aantalleerlingen(0);
|
|
self.bewaarleerlingen(0);
|
|
self.laag(0);
|
|
self.bewaarLaag(0);
|
|
self.laagID(0);
|
|
self.midden(0);
|
|
self.bewaarMidden(0);
|
|
self.middenID(0);
|
|
self.hoog(0);
|
|
self.bewaarHoog(0);
|
|
self.hoogID(0);
|
|
self.licht(0);
|
|
self.bewaarLicht(0);
|
|
self.lichtID(0);
|
|
self.zwaar( 0);
|
|
self.bewaarZwaar(0);
|
|
self.zwaarID(0);
|
|
self.notitie('');
|
|
self.arrangementen.removeAll();
|
|
|
|
$.post("index.php/monpas/omvang/getextraomvang/" + self.selectedSchooljaar().nummer, function(result){
|
|
if(result){
|
|
self.meetellen(false);
|
|
if((result.aantal)) {
|
|
self.aantalleerlingen(Number(result.aantal.aantal));
|
|
self.bewaarleerlingen(Number(result.aantal.aantal));
|
|
self.notitie(result.aantal.notitie);
|
|
if(result.aantal.meetellen == 'T'){
|
|
self.meetellen(true);
|
|
}
|
|
else{self.meetellen(false)}
|
|
|
|
}
|
|
if(result.tlvs){
|
|
$.each(result.tlvs, function(i, t){
|
|
if(t.zwaarte)
|
|
switch(t.zwaarte){
|
|
case 'LAAG' : self.laag(t.aantal);
|
|
self.bewaarLaag(t.aantal)
|
|
self.laagID(t.id);
|
|
break;
|
|
case 'MIDDEN': self.midden(t.aantal);
|
|
self.bewaarMidden(t.aantal);
|
|
self.middenID(t.id);
|
|
break;
|
|
case 'HOOG' : self.hoog(t.aantal);
|
|
self.bewaarHoog(t.aantal);
|
|
self.hoogID(t.id)
|
|
break;
|
|
case 'LICHT' : self.licht(t.aantal);
|
|
self.bewaarLicht(t.aantal);
|
|
self.lichtID(t.id);
|
|
break;
|
|
case 'ZWAAR' : self.zwaar(t.aantal);
|
|
self.bewaarZwaar(t.aantal);
|
|
self.zwaarID(t.id)
|
|
|
|
}
|
|
})
|
|
}
|
|
if(result.arrangementen){
|
|
$.each(result.arrangementen, function(x, a){
|
|
self.arrangementen.push(new fAddArrangement(x,a))
|
|
});
|
|
}
|
|
}
|
|
self.toontabel(true)
|
|
},'json');
|
|
},
|
|
|
|
|
|
fSaveAantalLeerlingen: function(){
|
|
var self = mh.InvulModel;
|
|
if(isNaN(self.aantalleerlingen())){
|
|
apprise("Vul gehele getallen in.");
|
|
self.aantalleerlingen(self.bewaarleerlingen());
|
|
return;
|
|
}
|
|
|
|
if (timeout) {
|
|
clearTimeout(timeout);
|
|
timeout = null;
|
|
}
|
|
timeout = setTimeout(function () {
|
|
|
|
var submitData = {
|
|
'aantalleerlingen' : self.aantalleerlingen(),
|
|
'schooljaarnr' : self.selectedSchooljaar().nummer
|
|
};
|
|
|
|
$.post("index.php/monpas/omvang/saveAantalLeerlingen", submitData, function (result) {
|
|
if(result){}
|
|
}, 'json');
|
|
|
|
}, 1000);
|
|
},
|
|
|
|
fSaveSO: function(){
|
|
var self = mh.InvulModel;
|
|
|
|
var message = false;
|
|
|
|
if(isNaN(self.laag())){
|
|
self.laag(self.bewaarLaag());
|
|
message = true;
|
|
}
|
|
if(isNaN(self.midden())){
|
|
self.midden(self.bewaarMidden());
|
|
message = true;
|
|
}
|
|
if(isNaN(self.hoog())){
|
|
self.hoog(self.bewaarHoog());
|
|
message = true;
|
|
}
|
|
|
|
if(message){
|
|
apprise("Vul gehele getallen in.");
|
|
return;
|
|
}
|
|
|
|
|
|
if (timeout) {
|
|
clearTimeout(timeout);
|
|
timeout = null;
|
|
}
|
|
timeout = setTimeout(function () {
|
|
|
|
var submitData = {
|
|
'laag' : self.laag(),
|
|
'midden' : self.midden(),
|
|
'hoog' : self.hoog(),
|
|
'laagID' : self.laagID(),
|
|
'middenID' : self.middenID(),
|
|
'hoogID' :self.hoogID(),
|
|
'schooljaarnr': self.selectedSchooljaar().nummer,
|
|
|
|
};
|
|
|
|
$.post("index.php/monpas/omvang/saveTlvsSO", submitData, function (result) {
|
|
if(result){
|
|
if(result.laag) self.laagID(result.laag);
|
|
if(result.midden) self.middenID(result.midden);
|
|
if(result.hoog) self.hoogID(result.hoog);
|
|
}
|
|
}, 'json');
|
|
|
|
});
|
|
},
|
|
|
|
fSaveSBO: function(){
|
|
var self = mh.InvulModel;
|
|
var message = false;
|
|
|
|
if(isNaN(self.licht())){
|
|
self.licht(self.bewaarLicht());
|
|
message = true;
|
|
}
|
|
if(isNaN(self.zwaar())){
|
|
self.zwaar(self.bewaarZwaar());
|
|
message = true;
|
|
}
|
|
if(message){
|
|
apprise("Vul gehele getallen in.");
|
|
return;
|
|
}
|
|
if (timeout) {
|
|
clearTimeout(timeout);
|
|
timeout = null;
|
|
}
|
|
timeout = setTimeout(function () {
|
|
|
|
var submitData = {
|
|
'licht' : self.licht(),
|
|
'zwaar' : self.zwaar(),
|
|
'lichtID' : self.lichtID(),
|
|
'zwaarID' : self.zwaarID(),
|
|
'schooljaarnr': self.selectedSchooljaar().nummer,
|
|
};
|
|
$.post("index.php/monpas/omvang/saveTlvsSBO", submitData, function (result) {
|
|
if(result){
|
|
if(result.licht) self.lichtID(result.licht);
|
|
if(result.zwaar) self.zwaarID(result.zwaar);
|
|
|
|
}
|
|
}, 'json');
|
|
|
|
});
|
|
},
|
|
|
|
|
|
|
|
fSaveLlnArr: function(versie){
|
|
var self = mh.InvulModel;
|
|
var dit = this;
|
|
if(isNaN(dit.aantal())){
|
|
apprise("Vul gehele getallen in.");
|
|
dit.aantal(dit.bewaarAantal());
|
|
return;
|
|
}
|
|
|
|
if (timeout) {
|
|
clearTimeout(timeout);
|
|
timeout = null;
|
|
}
|
|
timeout = setTimeout(function () {
|
|
var submitData = {
|
|
'aantal' : dit.aantal(),
|
|
'id' : dit.arrangementid,
|
|
'schooljaar' : self.selectedSchooljaar().nummer
|
|
};
|
|
|
|
$.post("index.php/monpas/omvang/saveLlnArrangement/", submitData, function () {
|
|
});
|
|
}, 600);
|
|
},
|
|
|
|
fDeleteArrangement: function(){
|
|
var self = mh.InvulModel;
|
|
|
|
$.post("index.php/monpas/omvang/deleteArrangement/" + this.arrangementid, function (result) {
|
|
if(result) {
|
|
if (result !== "gelukt") {
|
|
apprise( result);
|
|
}
|
|
else{
|
|
$.post("index.php/monpas/omvang/getArrangementen/" + self.selectedSchooljaar().nummer, function(arr){
|
|
self.arrangementen.removeAll();
|
|
if(arr){
|
|
self.arrangementen.removeAll();
|
|
$.each(arr, function(i, a){
|
|
self.arrangementen.push(new fAddArrangement(i, a));
|
|
});
|
|
|
|
}
|
|
}, 'json');
|
|
}
|
|
}
|
|
}, 'json'); // delete arrangement
|
|
},
|
|
|
|
fVerbergArrangement: function(versie, data) {
|
|
var self = mh.InvulModel;
|
|
var dit = this;
|
|
|
|
if(Number(this.aantal()) > 0){
|
|
apprise("Aan dit arrangement zijn in het gekozen schooljaar leerlingen gekoppeld. <br> " +
|
|
"Het kan daarom niet worden verborgen"
|
|
);
|
|
return;
|
|
}
|
|
|
|
if(Number(this.aantal()) === 0){
|
|
this.archief(true);
|
|
var submitData ={
|
|
'arrangementid' : dit.arrangementid,
|
|
'schooljaarnr' : self.selectedSchooljaar().nummer
|
|
};
|
|
|
|
$.post("index.php/monpas/omvang/archiveerArrangement/" ,submitData, function (result) {
|
|
|
|
}, 'json');
|
|
}
|
|
},
|
|
|
|
fToggleNieuwArrangement: function(){
|
|
var self = mh.InvulModel;
|
|
self.nieuwArrangement(!self.nieuwArrangement());
|
|
if(!self.nieuwArrangement()){
|
|
self.naamNieuw('');
|
|
self.leeftijdNieuw('');
|
|
self.looptijdNieuw('L');
|
|
self.aantalNieuw(0);
|
|
}
|
|
},
|
|
|
|
fSaveNieuwArrangement: function(){
|
|
var self = mh.InvulModel;
|
|
|
|
if(isNaN(self.aantalNieuw())){
|
|
apprise("Vul gehele getallen in.");
|
|
self.aantalNieuw(0);
|
|
return;
|
|
}
|
|
var naam = self.naamNieuw().trim();
|
|
|
|
if(naam.length < 3){
|
|
apprise("De naam moet minstens 3 tekens lang zijn.");
|
|
return;
|
|
}
|
|
if(naam.length > 20){
|
|
apprise("De naam mag maximaal 20 tekens lang zijn.");
|
|
return;
|
|
}
|
|
|
|
var submitData = {
|
|
'naam' : self.naamNieuw(),
|
|
'leeftijd' : self.leeftijdNieuw(),
|
|
'aantal' : self.aantalNieuw(),
|
|
'looptijd' : self.looptijdNieuw(),
|
|
'schooljaarnr': self.selectedSchooljaar().nummer
|
|
};
|
|
|
|
$.post("index.php/monpas/omvang/saveNieuwArrangement/", submitData, function (result) {
|
|
if (result) {
|
|
self.nieuwArrangement(false);
|
|
self.naamNieuw('');
|
|
self.leeftijdNieuw('');
|
|
self.looptijdNieuw('L');
|
|
self.aantalNieuw(0);
|
|
$.post("index.php/monpas/omvang/getArrangementen/" + self.selectedSchooljaar().nummer, function(arr){
|
|
if(arr){
|
|
self.arrangementen.removeAll();
|
|
$.each(arr, function(i, a){
|
|
self.arrangementen.push(new fAddArrangement(i, a));
|
|
});
|
|
|
|
} // if arr
|
|
},'json')
|
|
} // if result
|
|
},'json');
|
|
},
|
|
|
|
fToonArchief: function(){
|
|
var self = mh.InvulModel;
|
|
$.each(self.arrangementen(), function(i, a){
|
|
a.archief(false);
|
|
});
|
|
$.post("index.php/monpas/omvang/toonAlleArrangmenten/" + self.selectedSchooljaar().nummer, function (result) {
|
|
}, 'json');
|
|
},
|
|
|
|
|
|
fUpdateNotitie: function(){
|
|
var self = mh.InvulModel;
|
|
if(Number(self.aantalleerlingen() == 0)){
|
|
apprise("Vul eerst het aantal leerlingen in.");
|
|
return;
|
|
}
|
|
if (timeout){
|
|
clearTimeout(timeout);
|
|
timeout = null;
|
|
}
|
|
timeout = setTimeout(function(){
|
|
var submitData= {
|
|
'notitie' : self.notitie(),
|
|
'schooljaarnr': self.selectedSchooljaar().nummer
|
|
}
|
|
|
|
$.post("index.php/monpas/omvang/bewaarNotitie/", submitData, function (result) {
|
|
|
|
}, 'json');
|
|
|
|
}, 600);
|
|
},
|
|
|
|
fTelMee: function(){
|
|
var self = mh.InvulModel;
|
|
if(Number(self.aantalleerlingen() == 0)){
|
|
apprise("Vul eerst het aantal leerlingen in.");
|
|
return;
|
|
}
|
|
|
|
self.meetellen(!self.meetellen());
|
|
var dit = this;
|
|
var meetellen ='T';
|
|
if(!dit.meetellen()){
|
|
meetellen = 'F';
|
|
}
|
|
|
|
var submitData = {
|
|
'meetellen' : meetellen,
|
|
'schooljaar': self.selectedSchooljaar().nummer
|
|
}
|
|
|
|
$.post("index.php/monpas/omvang/gegevensmeetellen", submitData);
|
|
},
|
|
|
|
|
|
|
|
} ; // definition van model
|
|
mh.InvulModel.initBindings();
|
|
} // else
|
|
}// function init
|
|
}); |