496 lines
14 KiB
JavaScript
496 lines
14 KiB
JavaScript
$(function(){
|
|
|
|
ls.initOntwikkelModel = function(){
|
|
|
|
function fAddSWV(p){
|
|
var dit = this;
|
|
this.id = p.id;
|
|
this.soort = p.soort
|
|
this.naam = p.naam
|
|
this.plaats = p.plaats
|
|
this.geopend = ko.observable(false);
|
|
dit.kamers = ko.observableArray([]);
|
|
if (p.kamers ){
|
|
$.each(p.kamers, function(j,k){
|
|
dit.kamers.push(new fAddKamer(k));
|
|
})
|
|
}
|
|
}
|
|
|
|
function fAddKamer(p){
|
|
var dit = this;
|
|
this.id = p.id;
|
|
this.soort = p.soort
|
|
this.naam = p.naam
|
|
this.plaats = p.plaats
|
|
this.geopend = ko.observable(false);
|
|
this.bgs = ko.observableArray([]);
|
|
|
|
if (p.bgs){
|
|
$.each(p.bgs, function(x,z){
|
|
dit.bgs.push(new fAddBG(z));
|
|
})
|
|
}
|
|
}
|
|
function fAddBG(p){
|
|
var dit = this;
|
|
this.id = p.id;
|
|
this.soort = p.soort
|
|
this.naam = p.naam
|
|
this.plaats = p.plaats
|
|
this.geopend = ko.observable(false);
|
|
this.scholen = ko.observableArray([]);
|
|
if (p.scholen){
|
|
$.each(p.scholen, function(a,b){
|
|
dit.scholen.push(new fAddSchool(b));
|
|
})
|
|
}
|
|
}
|
|
|
|
function fAddSchool(p){
|
|
var dit = this;
|
|
this.id = p.id;
|
|
this.soort = p.soort
|
|
this.naam = p.naam
|
|
this.plaats = p.plaats
|
|
}
|
|
|
|
function fAddUser(p){
|
|
this.orguserid = p.id;
|
|
this.usernaam = p.fullname;
|
|
}
|
|
|
|
function fAddOrgversion(p){
|
|
this.id = p.id; //orgversion id
|
|
this.periodenummer = p.periodenummer
|
|
this.versie_id = p.versie_id
|
|
this.vorm = p.vorm
|
|
var wijik = "schoolversie";
|
|
if(p.vorm == 2){
|
|
wijik = "individuele versie"
|
|
}
|
|
this.scoretype = p.scoretype
|
|
var scoreomschrijving = p.scoreomschrijving;
|
|
if(p.scoreomschrijving === 'included/involved/present/absent')
|
|
scoreomschrijving = 'inc/inv/pre/abs'
|
|
this.scoreomschrijving = scoreomschrijving;
|
|
this.naam = p.naam
|
|
this.geldigvanaf = p.geldigvanaf;
|
|
this.geldigtm = p.geldigtm;
|
|
this.invullentm = p.invullentm;
|
|
this.info = ko.computed(function(){
|
|
var versieInfostr=this.naam;
|
|
versieInfostr += "- periode " + this.periodenummer +
|
|
", scoretype: " + this.scoreomschrijving + ", "+ wijik +
|
|
", " + this.geldigvanaf + " t/m " + this.geldigtm;
|
|
return versieInfostr;
|
|
}
|
|
,this)
|
|
}
|
|
function fAddResult(p){
|
|
var dit = this;
|
|
this.ijkpuntid = p.ijkpunt_id;
|
|
this.wensid = 0;
|
|
|
|
if (p.gewenstid) { this.wensid = p.gewenstid; }
|
|
this.scoretype = p.scoretype;
|
|
this.disabled = p.disabled;
|
|
this.disablentv = p.disablenvt;
|
|
this.huidig = ko.observable( p.huidig);
|
|
if(p.disabled == 'T' || p.disablenvt == 'T') this.huidig(5)
|
|
|
|
|
|
|
|
// observable is niet nodig maar dit was eerst een computed
|
|
this.gewenst = ko.observable(3);
|
|
if (p.gewenst) {this.gewenst(p.gewenst)};
|
|
if(p.disabled == 'T' || p.disablenvt == 'T') this.gewenst(5)
|
|
|
|
this.nummer = p.nummer;
|
|
this.omschrijving = p.omschrijving;
|
|
this.toelichting = p.toelichting;
|
|
this.aantalscholen = p.aantalscholen;
|
|
|
|
|
|
}
|
|
|
|
if (ls.OntwikkelModel !== undefined){
|
|
ls.OntwikkelModel.initModel();
|
|
}
|
|
else {
|
|
ls.OntwikkelModel = {
|
|
toporg : ko.observableArray([]),
|
|
users : ko.observableArray([]),
|
|
selectedOrg : ko.observable(''),
|
|
usernivo : ko.observable(),
|
|
orgsoort : ko.observable(1),
|
|
orgversions : ko.observableArray([]),
|
|
selectedOrgversion : ko.observable(''),
|
|
selectedUser : ko.observable(''),
|
|
// ijkpunten : ko.observableArray([]),
|
|
versieid : ko.observable(), // moet waarschijnlijk orgversie id worden!!
|
|
results : ko.observableArray([]),
|
|
writeOK : ko.observable(false),
|
|
level123 : ko.observable(false),
|
|
wijzigRecht : ko.observable(false),
|
|
eigenLijst : ko.observable(false),
|
|
ingevuld : ko.observable(false),
|
|
bezig : ko.observable(false),
|
|
verberg : ko.observable(false),
|
|
|
|
initBindings :function(){
|
|
var self = ls.OntwikkelModel;
|
|
if (!ko.dataFor(document.getElementById('pagontwikkel')) ) {
|
|
ko.applyBindings(ls.OntwikkelModel, document.getElementById("pagontwikkel"));
|
|
}
|
|
self.initModel();
|
|
},
|
|
initModel: function() {
|
|
var self = ls.OntwikkelModel;
|
|
console.log('nu hier')
|
|
|
|
$.post("index.php/monpas/rapijkpunten/checkLevel", function(data){
|
|
if(data){
|
|
if(data === 1)
|
|
self.level123(true);
|
|
}
|
|
self.fGetOrganisaties();
|
|
},'json')
|
|
},
|
|
|
|
|
|
fGetOrganisaties: function(){
|
|
var self = ls.OntwikkelModel;
|
|
self.toporg('');
|
|
|
|
$.post("index.php/monpas/rapijkpunten/getorgs", function(data){
|
|
self.bezig(true);
|
|
if (data.organisatie){
|
|
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
|
|
$.post('index.php/monpas/rapijkpunten/getusernivo', function(result){
|
|
self.usernivo(result);
|
|
self.selectedOrg(self.toporg());
|
|
self.fGetWriteAutorisatie(self.fSwitchLevel());
|
|
|
|
|
|
},'json');
|
|
} // if
|
|
self.bezig(false);
|
|
},'json');
|
|
},
|
|
fGetWriteAutorisatie: function(callback){
|
|
var self = ls.OntwikkelModel;
|
|
var user = 0;
|
|
if(self.selectedUser()){
|
|
user = self.selectedUser().id;
|
|
}
|
|
|
|
|
|
var submitData = {'orgsoort' : self.selectedOrg().soort,
|
|
'orgid' : self.selectedOrg().id,
|
|
'user' : user }
|
|
$.post("index.php/monpas/rapontwikkel/checkSchrijfrechtenOrg/", submitData, function(result){
|
|
self.writeOK(result);
|
|
if(typeof callback ==='function' && callback()){
|
|
callback();
|
|
|
|
}
|
|
|
|
},'json');
|
|
|
|
|
|
},
|
|
fToggleGeopend: function(){
|
|
this.geopend(!this.geopend());
|
|
},
|
|
fUpdateGewenst: function(num){
|
|
var self=ls.OntwikkelModel;
|
|
if(this.huidig() != 5 ) this.gewenst(num);
|
|
},
|
|
fSwitchOrg: function(){
|
|
var self = ls.OntwikkelModel;
|
|
|
|
if (self.selectedOrg() == undefined) return;
|
|
if (this.id == self.selectedOrg().id) return;
|
|
self.selectedOrg(this);
|
|
self.results.removeAll();
|
|
self.ingevuld(false);
|
|
self.fGetWriteAutorisatie();
|
|
self.fSwitchLevel();
|
|
},
|
|
fSwitchLevel: function(){
|
|
var self = ls.OntwikkelModel;
|
|
|
|
if (self.selectedOrg() == undefined) return;
|
|
if (this.id == self.selectedOrg().id) return;
|
|
var versieid = null;
|
|
if(self.selectedOrgversion() != undefined ) {
|
|
versieid = self.selectedOrgversion().id;
|
|
}
|
|
$.post("index.php/monpas/rapijkpunten/getperiodes3/" + self.selectedOrg().id, function(data){
|
|
self.orgversions.removeAll();
|
|
self.results.removeAll();
|
|
self.wijzigRecht(false);
|
|
self.bezig(true);
|
|
if (data){
|
|
$.each(data,function(i,p){
|
|
self.orgversions.push(new fAddOrgversion(p));
|
|
})
|
|
}
|
|
if(versieid != null ){
|
|
$.each(self.orgversions(), function (i, q) {
|
|
if (q.id == versieid) {
|
|
self.selectedOrgversion(q);
|
|
return false;
|
|
}
|
|
});
|
|
}
|
|
else if(self.orgversions()) {
|
|
self.selectedOrgversion(self.orgversions[0]);
|
|
}
|
|
else{
|
|
self.selectedOrgversion("")
|
|
}
|
|
|
|
if(self.selectedOrgversion().soort == '4' && self.selectedOrgversion().vorm == '2' && self. usernivo() <= 1){
|
|
self.verberg(false);
|
|
}
|
|
else{
|
|
self.verberg(true);
|
|
}
|
|
|
|
|
|
if (self.selectedOrgversion().vorm === '1' && self.writeOK()) self.wijzigRecht(true);
|
|
if (self.selectedOrgversion().vorm === '2' && self.eigenLijst()) self.wijzigRecht(true);
|
|
if (self.selectedOrgversion().vorm === '2' && self.writeOK() &&
|
|
self.selectedUser() === undefined) self.wijzigRecht(true);
|
|
if(self.level123() && self.writeOK()) self.wijzigRecht(true);
|
|
|
|
|
|
self.fChangeUser(function(){
|
|
var zelf = ls.OntwikkelModel;
|
|
zelf.bezig(false);
|
|
zelf.fChangeVersion2()});
|
|
},'json');
|
|
},
|
|
|
|
fChangeUser: function(callback){
|
|
var self = ls.OntwikkelModel;
|
|
|
|
if (self.selectedOrgversion() == undefined) return;
|
|
if (self.selectedOrg() == undefined) return;
|
|
|
|
var submitData = {orgversie : self.selectedOrgversion().id,
|
|
orgid : self.selectedOrg().id}
|
|
$.post("index.php/monpas/rapijkpunten/getusers", submitData, function(results){
|
|
self.users.removeAll();
|
|
self.results.removeAll();
|
|
|
|
|
|
if (results){
|
|
$.each(results, function(i,p){
|
|
self.users.push(new fAddUser(p));
|
|
|
|
}); // each
|
|
}
|
|
if(results && results.length == 1) {
|
|
self.selectedUser(self.users()[0]);
|
|
} else {
|
|
self.selectedUser() == undefined;
|
|
}
|
|
if (typeof callback == "function") callback();
|
|
//
|
|
},'json'); // post
|
|
},
|
|
|
|
|
|
fChangeVersion2: function(){
|
|
var self = ls.OntwikkelModel;
|
|
if (self.selectedOrgversion() == undefined) return;
|
|
if (self.bezig()) return;
|
|
if(self.level123()){
|
|
self.verberg(true);
|
|
self.fHaalOrgScoresOp()}
|
|
|
|
else {
|
|
if (self.selectedOrg().soort == 4 && self.selectedOrgversion().vorm == 2 && self.usernivo() <= 1) {
|
|
self.verberg(false);
|
|
if (self.selectedUser() == undefined) {
|
|
self.fHaalOrgScoresOp();
|
|
|
|
}
|
|
else {
|
|
self.fCheckEigenLijst();
|
|
|
|
self.fGetUserScores();
|
|
|
|
|
|
}
|
|
}
|
|
else {
|
|
self.verberg(true);
|
|
self.selectedUser("");
|
|
self.fHaalOrgScoresOp();
|
|
}
|
|
}
|
|
},
|
|
|
|
fHaalOrgScoresOp: function(){
|
|
var self = ls.OntwikkelModel;
|
|
self.ingevuld(false);
|
|
if (self.selectedOrgversion() == undefined) return;
|
|
|
|
|
|
var submitData = {orgversieid : self.selectedOrgversion().id,
|
|
orgid : self.selectedOrg().id
|
|
}
|
|
$.post("index.php/monpas/rapontwikkel/getscores", submitData, function(data){
|
|
|
|
self.results.removeAll();
|
|
if (data){
|
|
$.each(data.scores, function(i,p){
|
|
self.results.push(new fAddResult(p));
|
|
self.ingevuld(true);
|
|
})
|
|
self.fGetWriteAutorisatie();
|
|
}
|
|
|
|
},'json');
|
|
|
|
|
|
|
|
},
|
|
|
|
fGetUserScores: function(){
|
|
var self = ls.OntwikkelModel;
|
|
self.results.removeAll();
|
|
self.ingevuld(false);
|
|
self.eigenLijst(false);
|
|
var submitData ='';
|
|
|
|
if ( self.selectedOrg() == undefined ||
|
|
self.selectedOrgversion() == undefined ||
|
|
self.users() == undefined ||
|
|
self.usernivo > 1 ) return;
|
|
|
|
|
|
if (self.selectedUser() != undefined){
|
|
|
|
submitData = { orguserid : self.selectedUser().orguserid,
|
|
orgid : self.selectedOrg().id,
|
|
orgversie : self.selectedOrgversion().id}
|
|
$.post("index.php/monpas/rapontwikkel/scoresindividueel" , submitData, function(data){
|
|
if (data){
|
|
$.each(data.scores, function(i,p){
|
|
self.results.push(new fAddResult(p));
|
|
self.ingevuld(true);
|
|
})
|
|
}
|
|
self.fCheckEigenLijst();
|
|
},'json');
|
|
}
|
|
else {
|
|
self.results.removeAll();
|
|
self.fHaalOrgScoresOp();
|
|
}
|
|
},
|
|
|
|
fCheckEigenLijst: function(){
|
|
var self = ls.OntwikkelModel;
|
|
self.wijzigRecht(false);
|
|
$.post("index.php/monpas/rapontwikkel/checkindividueelschrijfrecht/" +self.selectedUser().orguserid, function(result){
|
|
if (result){
|
|
self.eigenLijst(result);
|
|
}
|
|
else{
|
|
self.eigenLijst(false);
|
|
}
|
|
if (self.eigenLijst()) self.wijzigRecht(true);
|
|
if (self.writeOK() &&
|
|
self.selectedUser() === undefined) self.wijzigRecht(true);
|
|
},'json');
|
|
},
|
|
|
|
fToonToelichting: function(){
|
|
var self = ls.OntwikkelModel;
|
|
var dit = this;
|
|
var toelichting = '';
|
|
if (dit.toelichting != undefined) toelichting = dit.toelichting;
|
|
apprise(dit.nummer + '. ' + dit.omschrijving + '<br/>Toelichting: ' + toelichting);
|
|
},
|
|
fSaveGewenst: function(){
|
|
var self=ls.OntwikkelModel;
|
|
var orguserid = 0;
|
|
|
|
|
|
if(self.eigenLijst()){
|
|
orguserid = self.selectedUser().orguserid;
|
|
}
|
|
var wensarray = [];
|
|
$.each(self.results() , function(i,p){
|
|
wensarray[i]={ 'ijkpuntid' : p.ijkpuntid,
|
|
'wensid' : p.wensid,
|
|
'gewenst' : p.gewenst() };
|
|
|
|
|
|
});
|
|
var submitData= { 'wensarray' : wensarray,
|
|
'orgid' : self.selectedOrg().id,
|
|
'orgversionid' : self.selectedOrgversion().id,
|
|
'orguserid' : orguserid}
|
|
$.post("index.php/monpas/rapontwikkel/savegewenst", submitData, function(wensids){
|
|
if (wensids){
|
|
$.each(self.results(), function(i,p){
|
|
if (p.wensid == 0){ p.wensid = wensids[i]; }
|
|
}); // each
|
|
ls.MsgAutoFade("Gegevens zijn opgeslagen", 600);
|
|
};// If wensids
|
|
},'json') ;
|
|
},
|
|
fPrintOntwikkelmatrix: function(){
|
|
var self = ls.OntwikkelModel;
|
|
var orgid = self.selectedOrg().id;
|
|
var orgversieid = self.selectedOrgversion().id;
|
|
var resultaten= [];
|
|
|
|
if (self.results()){
|
|
$.each(self.results(), function(i,p){
|
|
resultaten.push({'nummer' : p.nummer, 'ijkpuntid': p.ijkpuntid, 'huidig': p.huidig(), 'wens' : p.gewenst()});
|
|
})
|
|
}
|
|
|
|
var data={ 'orgid' : orgid,
|
|
"orgversieid" : orgversieid,
|
|
"resultaten" : resultaten,
|
|
"orgversie" : self.selectedOrgversion(),
|
|
"user" : self.selectedUser() ? self.selectedUser().usernaam : ''}
|
|
var submitUrl = "index.php/monpas/rapontwikkel/printontwikkelmatrix/?json=" + JSON.stringify(data);
|
|
window.open(submitUrl);
|
|
}
|
|
} ; // definition van model
|
|
ls.OntwikkelModel.initBindings();
|
|
|
|
// ls.OntwikkelModel.wijzigRecht = ko.pureComputed(function () {
|
|
// var self = ls.OntwikkelModel;
|
|
// if(!self.ingevuld()) return 'Verberg';
|
|
// if(self.selectedOrgversion().vorm == 1 && self.writeOK()) return 'Toon';
|
|
// if(self.selectedOrgversion().vorm == 2 && self.eigenLijst()) return 'Toon';
|
|
// if(self.selectedOrgversion().vorm == 2 && self.writeOK() && self.selectedUser() == undefined) return 'Toon';
|
|
// return 'Verberg';
|
|
//
|
|
// });
|
|
|
|
|
|
}; // else
|
|
}// function initOntwikkelModel
|
|
}); |