322 lines
9.1 KiB
JavaScript
322 lines
9.1 KiB
JavaScript
$(function(){
|
|
|
|
ls.initOverzichtScoresModel= function(){
|
|
|
|
function fAddSWV(p){
|
|
var dit = this;
|
|
this.id = p.id;
|
|
this.soort = p.soort
|
|
this.brin = p.brin
|
|
this.naam = p.naamkort
|
|
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.brin = p.brin
|
|
this.naam = p.naamkort
|
|
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.brin = p.brin
|
|
this.naam = p.naamkort
|
|
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.brin = p.brin
|
|
this.naam = p.naamkort
|
|
this.plaats = p.plaats
|
|
}
|
|
|
|
function fAddOrgversion(p){
|
|
this.id = p.id; //orgversion id
|
|
this.periodenummer = p.periodenummer
|
|
this.versie_id = p.versie_id
|
|
this.vorm = p.vorm
|
|
this.scoretype = p.scoretype
|
|
this.naam = p.naam
|
|
this.geldigvanaf = p.geldigvanaf;
|
|
this.geldigtm = p.geldigtm;
|
|
this.invullentm = p.invullentm;
|
|
this.info = ko.computed(function(){
|
|
var infostr=this.naam + " - periode " + this.periodenummer ;
|
|
infostr += " van " + this.geldigvanaf + " t/m " + this.geldigtm;
|
|
return infostr;
|
|
},this)
|
|
}
|
|
|
|
|
|
function fAddUser(p){
|
|
this.userid = p.id;
|
|
this.naam = p.fullname;
|
|
}
|
|
|
|
function fAddStandaard(p){
|
|
this.naam = p.omschrijving;
|
|
this.onvoldoende = p.onvol;
|
|
this.voldoende = p.vol;
|
|
this.goed = p.goed;
|
|
this.fvID = p. fvID;
|
|
this.ijkpuntID = p.ijkpuntID;
|
|
this.oordeelid = ko.observable(p.oordeelid);
|
|
this.normid = ko.observable(p.normid);
|
|
this.norm = ko.observable(p.norm);
|
|
this.toelichting = p.toelichting;
|
|
}
|
|
|
|
if (ls.OverzichtScoresModel !== undefined){
|
|
ls.OverzichtScoresModel.initModel();
|
|
}
|
|
else {
|
|
ls.OverzichtScoresModel = {
|
|
|
|
toporg : ko.observableArray([]),
|
|
selectedOrg : ko.observable(''),
|
|
orgsoort : ko.observable(1),
|
|
orgversions : ko.observableArray([]),
|
|
selectedOrgversion : ko.observable(''),
|
|
standaarden : ko.observableArray([]),
|
|
normen : ko.observableArray([
|
|
{normid: 4, norm:'goed'},
|
|
{normid: 3, norm:'voldoende'},
|
|
{normid: 2, norm:'onvoldoende'},
|
|
{normid: 1, norm:'zeer zwak'}
|
|
]),
|
|
users : ko.observableArray(),
|
|
selectedUser : ko.observable(),
|
|
usernivo : ko.observable(), // het nivo van de ingelogde user; nodig om te bepalen of individuele gegevens moeten worden opgehaald
|
|
magWijzigen : ko.observable(false),
|
|
bezig : ko.observable(false),
|
|
|
|
initBindings :function(){
|
|
var self = ls.OverzichtScoresModel;
|
|
if (!ko.dataFor(document.getElementById('pagoverzichtscores')) ) {
|
|
ko.applyBindings(ls.OverzichtScoresModel, document.getElementById("pagoverzichtscores"));
|
|
}
|
|
self.initModel();
|
|
},
|
|
|
|
initModel: function(){
|
|
var self =ls.OverzichtScoresModel;
|
|
self.toporg('');
|
|
$.post("index.php/monpas/rapijkpunten/getorgs", function(data){
|
|
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.fCheckEditRecht();
|
|
},'json');
|
|
}
|
|
},'json');
|
|
},
|
|
|
|
fCheckEditRecht: function(){
|
|
var self =ls.OverzichtScoresModel;
|
|
|
|
$.post('index.php/monpas/overzichtscores/geteditrecht/'+self.selectedOrg().id, function(data){
|
|
if (data){
|
|
self.magWijzigen(data);
|
|
}
|
|
self.fSwitchLevel();
|
|
}, 'json');
|
|
|
|
},
|
|
|
|
|
|
fToggleGeopend: function(){
|
|
this.geopend(!this.geopend());
|
|
},
|
|
|
|
fSwitchOrg: function(){
|
|
var self = ls.OverzichtScoresModel;
|
|
if (self.selectedOrg() == undefined) return;
|
|
if (this.id == self.selectedOrg().id) return;
|
|
self.selectedOrg(this);
|
|
self.fCheckEditRecht();
|
|
},
|
|
|
|
fSwitchLevel: function(){
|
|
var self = ls.OverzichtScoresModel;
|
|
if (self.selectedOrg() == undefined) return;
|
|
if (this.id == self.selectedOrg().id) return;
|
|
self.orgversions.removeAll();
|
|
|
|
if (self.selectedOrg().soort < 4) return;
|
|
$.post("index.php/monpas/rapijkpunten/getperiodes3/" + self.selectedOrg().id, function(data){
|
|
if (data){
|
|
$.each(data,function(i,p){
|
|
self.orgversions.push(new fAddOrgversion(p));
|
|
})
|
|
}
|
|
},'json');
|
|
},
|
|
|
|
fChangeUser: function(){
|
|
var self = ls.OverzichtScoresModel;
|
|
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();
|
|
if (results){
|
|
$.each(results, function(i,p){
|
|
self.users.push(new fAddUser(p));
|
|
}); // each
|
|
self.selectedUser(self.users()[0]);
|
|
}
|
|
if (self.selectedUser()) {self.fGetUserScores(); }
|
|
},'json'); // post
|
|
},
|
|
|
|
fGetUserScores: function(){
|
|
var self = ls.OverzichtScoresModel;
|
|
if (! self.selectedOrgversion()) return;
|
|
var submitData ='';
|
|
|
|
if ( self.selectedOrg() == undefined ||
|
|
self.selectedOrgversion() == undefined ||
|
|
self.users() == undefined ||
|
|
self.usernivo > 1 ) return;
|
|
|
|
var orguserid =false;
|
|
if (self.selectedUser() != undefined){ orugserid= self.selectedUser().userid; }
|
|
submitData = { orguserid : orguserid,
|
|
orgid : self.selectedOrg().id,
|
|
orgversieid : self.selectedOrgversion().id}
|
|
$.post("index.php/monpas/overzichtscores/getscores" , submitData, function(data){
|
|
self.fFillScores(data)
|
|
},'json');
|
|
},
|
|
|
|
fFillScores: function(data){
|
|
var self =ls.OverzichtScoresModel;
|
|
self.standaarden.removeAll();
|
|
|
|
if (data ){
|
|
$.each(data, function(i,p){
|
|
self.standaarden.push(new fAddStandaard(p));
|
|
})
|
|
}
|
|
},
|
|
|
|
fChangeVersion2: function(){
|
|
var self = ls.OverzichtScoresModel;
|
|
if (self.selectedOrgversion() == undefined) return;
|
|
|
|
if (self.selectedOrg().soort == 4 && self.selectedOrgversion().vorm==2 && self.usernivo()<=1) {
|
|
self.fChangeUser();
|
|
}
|
|
else {
|
|
self.users.removeAll();
|
|
var submitData = { orguserid : false,
|
|
orgversieid : self.selectedOrgversion().id,
|
|
orgid : self.selectedOrg().id}
|
|
if (! self.selectedOrgversion()) return;
|
|
self.standaarden.removeAll();
|
|
$.post("index.php/monpas/overzichtscores/getscores", submitData, function(results){
|
|
if (results ){
|
|
$.each(results, function(i,p){
|
|
self.standaarden.push(new fAddStandaard(p));
|
|
})
|
|
}
|
|
},'json');
|
|
}
|
|
},
|
|
|
|
fToonToelichting: function(){
|
|
var self = ls.OverzichtScoresModel;
|
|
var dit = this;
|
|
var toelichting = '';
|
|
if (dit.toelichting != undefined) toelichting = dit.toelichting;
|
|
apprise( dit.naam + '<br/>Toelichting: ' + toelichting);
|
|
},
|
|
|
|
fPrintStandaarden :function(){
|
|
var self = ls.OverzichtScoresModel;
|
|
if (! self.selectedOrg() ) return;
|
|
if (! self.selectedOrg().soort == 4) return;
|
|
|
|
var versie = self.selectedOrgversion().naam+' - periode ' +
|
|
self.selectedOrgversion().periodenummer + ' van ' +
|
|
self.selectedOrgversion().geldigvanaf + ' t/m ' +
|
|
self.selectedOrgversion().geldigtm;
|
|
var data = {school : self.selectedOrg().naam,
|
|
versie: versie,
|
|
standaarden: ko.toJSON(self.standaarden())}
|
|
data=JSON.stringify(data);
|
|
var $form = $("<form method='post' action='index.php/monpas/overzichtscores/pdfstandaarden' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
|
$form.appendTo("body").submit();
|
|
},
|
|
fSaveOordeel: function(){
|
|
var self =ls.OverzichtScoresModel;
|
|
if (! self.magWijzigen()) return;
|
|
var dit = this;
|
|
|
|
$.each(self.normen(), function(i,p){
|
|
if (p.normid == dit.normid()) {
|
|
return false;
|
|
}
|
|
});
|
|
var sd = {'oordeelID' : this.oordeelid(),
|
|
'fvID' : this.fvID,
|
|
'ijkID' : this.ijkpuntID,
|
|
'normID' : this.normid()
|
|
}
|
|
$.post("index.php/monpas/overzichtscores/saveOordeel", sd, function(newid){
|
|
if (newid){
|
|
|
|
self.fGetUserScores();
|
|
}
|
|
});
|
|
}
|
|
|
|
} ; // definition van model
|
|
ls.OverzichtScoresModel.initBindings();
|
|
}; // else
|
|
}// function initOverzichtScoresModel
|
|
}); |