171 lines
4.9 KiB
JavaScript
171 lines
4.9 KiB
JavaScript
$(function(){
|
|
|
|
mh.initOndersteuningSOModel = function(){
|
|
var timeout;
|
|
|
|
function fAddGroep(p){
|
|
this.id = p.id;
|
|
this.naam = p.naam;
|
|
}
|
|
|
|
function fAddDag(p){
|
|
this.dagnr = p.dagnr;
|
|
this.dag = p.dag
|
|
this.minutenG = ko.observable(p.minutenG % 60);
|
|
this.uurG = ko.observable((p.minutenG - this.minutenG()) / 60);
|
|
this.minutenS = ko.observable(p.minutenS % 60);
|
|
this.uurS = ko.observable((p.minutenS - this.minutenS()) / 60);
|
|
this.minutenI = ko.observable(p.minutenI % 60);
|
|
this.uurI = ko.observable((p.minutenI - this.minutenI() )/60);
|
|
|
|
}
|
|
|
|
if (mh.OndersteuningSOModel !== undefined){
|
|
mh.OndersteuningSOModel.initModel();
|
|
}
|
|
else {
|
|
mh.OndersteuningSOModel = {
|
|
schoolid : ko.observable(null),
|
|
schooljaarnr : ko.observable(null),
|
|
groepen : ko.observableArray([]),
|
|
selectedGroep : ko.observable(),
|
|
dagen : ko.observableArray([]),
|
|
writer : ko.observable(false),
|
|
geenOndersteuning : ko.observable(false),
|
|
// toonInvoer : ko.computed(function () {
|
|
// return mh.OndersteuningSOModel.ondersteuning();
|
|
// }),
|
|
|
|
initBindings :function(){
|
|
var self = mh.OndersteuningSOModel;
|
|
if (!ko.dataFor(document.getElementById('pagondersteuningso')) ) {
|
|
ko.applyBindings(mh.OndersteuningSOModel, document.getElementById("pagondersteuningso"));
|
|
}
|
|
$.post("index.php/monpas/groepen/getwriter", function(writer){
|
|
self.writer(writer);
|
|
self.initModel();
|
|
},'json');
|
|
|
|
},
|
|
initModel: function(){
|
|
var self = mh.OndersteuningSOModel;
|
|
if (ls.MenuModel.selectedSchool()){
|
|
self.schoolid(ls.MenuModel.selectedSchool().id);
|
|
}
|
|
if (ls.MenuModel.selectedSchooljaar()){
|
|
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
|
|
}
|
|
$.post("index.php/monpas/ondersteuning/getgroepenso/" + self.schoolid()+
|
|
'/' + self.schooljaarnr(), function(result){
|
|
|
|
self.groepen.removeAll();
|
|
self.selectedGroep(null);
|
|
self.dagen.removeAll();
|
|
if (result){
|
|
$.each(result, function(i,p){
|
|
self.groepen.push(new fAddGroep(p));
|
|
if(p.ondersteuning == 'F') self.geenOndersteuning(true);
|
|
});//each
|
|
self.selectedGroep(self.groepen()[0]);
|
|
// self.fGetUren();
|
|
}
|
|
|
|
|
|
},'json');
|
|
|
|
|
|
},
|
|
|
|
fMeldOndersteuning(){
|
|
var self = mh.OndersteuningSOModel;
|
|
self.geenOndersteuning(! self.geenOndersteuning())
|
|
var ondersteuning = 'T';
|
|
if(self.geenOndersteuning()) ondersteuning = 'F'
|
|
|
|
var submitData = {
|
|
'schoolid' : self.schoolid(),
|
|
'schooljaar' : self.schooljaarnr(),
|
|
'module' : 270,
|
|
'ondersteuning' : ondersteuning,
|
|
}
|
|
|
|
$.post("index.php/monpas/ondersteuning/meldondersteuning", submitData , function(result){
|
|
},'json');
|
|
|
|
|
|
|
|
},
|
|
fGetUren : function(){
|
|
var self = mh.OndersteuningSOModel;
|
|
if (!self.selectedGroep()) return;
|
|
$.post("index.php/monpas/ondersteuning/gettijden/" + self.selectedGroep().id, function(result){
|
|
self.dagen.removeAll();
|
|
if (result){
|
|
$.each(result, function(i,p){
|
|
self.dagen.push(new fAddDag(p));
|
|
});
|
|
}
|
|
},'json');
|
|
},
|
|
fSavetijd : function(wat,hoeveel){
|
|
var self = mh.OndersteuningSOModel;
|
|
var dit = this;
|
|
var tijd = 0;
|
|
var minuten, uur ;
|
|
if (timeout){
|
|
clearTimeout(timeout);
|
|
timeout= null;
|
|
}
|
|
timeout = setTimeout(function(){
|
|
switch (wat){
|
|
case 'G': minuten =parseInt(dit.minutenG());
|
|
if (!minuten) minuten =0;
|
|
uur = parseInt(dit.uurG());
|
|
if (!uur) uur= 0;
|
|
if (uur > 24 || uur < 0) {
|
|
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
|
|
uur = 0;
|
|
dit.uurG(0);
|
|
}
|
|
|
|
tijd= minuten + (uur * 60);
|
|
break;
|
|
case 'S': minuten =parseInt(dit.minutenS());
|
|
if (!minuten) minuten =0;
|
|
uur = parseInt(dit.uurS());
|
|
if (!uur) uur= 0;
|
|
if (uur > 24 || uur < 0) {
|
|
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
|
|
uur = 0;
|
|
dit.uurS(0);
|
|
}
|
|
|
|
tijd= minuten + (uur * 60);
|
|
break;
|
|
case 'I': minuten =parseInt(dit.minutenI());
|
|
if (!minuten) minuten =0;
|
|
uur = parseInt(dit.uurI());
|
|
if (!uur) uur= 0;
|
|
if (uur > 24 || uur < 0) {
|
|
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
|
|
uur = 0;
|
|
dit.uurI (0);
|
|
}
|
|
|
|
tijd= minuten + (uur * 60);
|
|
break;
|
|
}
|
|
var submitData={ orgid : ls.MenuModel.selectedSchool().id,
|
|
groepid : self.selectedGroep().id,
|
|
dagnr : dit.dagnr,
|
|
soort : wat,
|
|
minuten : tijd
|
|
}
|
|
$.post("index.php/monpas/ondersteuning/insertorupdatetijd", submitData);
|
|
},500);
|
|
}
|
|
} ; // definition van model
|
|
mh.OndersteuningSOModel.initBindings();
|
|
}; // else
|
|
}// function initOndersteuningModel
|
|
}); |