initial commit

This commit is contained in:
2021-07-10 16:25:16 +02:00
parent bff57cbf45
commit 20fb7267a8
2426 changed files with 792090 additions and 0 deletions
+122
View File
@@ -0,0 +1,122 @@
var ls ={}
var mh = {}
$.ajaxSetup({cache: false});
function showAjaxLoader(){ $("#overlay").fadeIn(10)
$("#ajaxloader").fadeIn(20);
};
function hideAjaxLoader(){ $("#ajaxloader").fadeOut(300)
$("#overlay").fadeOut(500);
};
function checkEmail(email){
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
if(pattern.test(email)){
return true;
}else{
return false;
}
}
ls.MsgAutoFade = function (msg,duration){
var alt = document.createElement("div");
alt.setAttribute("style","position:absolute;top:10px;left:80%;background-color:#ffffff; z-index:1120; border:3px solid red; padding:40px; text-align:center");
alt.innerHTML = msg;
setTimeout(function(){
alt.parentNode.removeChild(alt);
},duration);
document.body.appendChild(alt);
};
function datumAgrB(A,B){
var dateA = new Date (A.substring(6,10), (A.substring(3,5) - 1), A.substring(0,2));
var dateB = new Date (B.substring(6,10), (B.substring(3,5) - 1), B.substring(0,2));
return dateA>=dateB;
}
/**
* Number.prototype.format(n, x, s, c)
*
* @param integer n: length of decimal
* @param integer x: length of whole part
* @param mixed s: sections delimiter
* @param mixed c: decimal delimiter
*/
Number.prototype.format = function(n, x, s, c) {
var re = '\\d(?=(\\d{' + (x || 3) + '})+' + (n > 0 ? '\\D' : '$') + ')',
num = this.toFixed(Math.max(0, ~~n));
return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), '$&' + (s || ','));
};
$(document).on("keydown", ".integer", function(event){
if ((event.keyCode <= 57 && event.keyCode >=48) || event.keyCode==8||event.keyCode==9 || event.keyCode == 13) {}
else return false;
});
$(document).on('keydown',".decimal", function(event){
var alkomma= $(this).val().indexOf(',') >=0;
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode==188 && !alkomma) || event.keyCode==8||event.keyCode==9 || event.keyCode == 13 || event.keyCode==190){ }
else {return false};
});
$(document).on('keydown',".rapport", function(event){
var alkomma= $(this).val().indexOf(',') >=0;
switch (event.which){
case 8: return;
break;
case 9: return;
break;
case 13:return;
break;
}
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode==188 && !alkomma) ){ }
else {return false};
});
$(document).ready(function(){
ls.initMenuModel();
$(document).on('click','#start', function(){
ls.initMenuModel();
});
$.datepicker.setDefaults({
dateFormat: 'dd-mm-yy',
changeMonth: true,
changeYear: true,
showOn: 'focus', // geen images laten zien. is wel zo strak voor wel een image moet deze waarde "both" zijn
buttonImage: '../css/images/calendar.gif',
buttonImageOnly: true,
dayNamesShort: ['zo','ma','di','wo','do','vr','za'],
dayNamesMin: ['zo','ma','di','wo','do','vr','za'],
firstDay: 1,
monthNamesShort:['Jan', 'Feb','Mrt', 'Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec'],
monthNames:['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December']
}
,
$.datepicker.regional['nl']
);
$( document ).ajaxComplete( function ( event, xhr, settings ) {
try {
var result = JSON.parse(xhr.responseText);
if( result.offline === undefined || ! result.offline ) return true;
showLogin();
} catch (e) {
return true;
}
} );
function showLogin(){
//$("#log-in-jumbo" ).modal('show');
$.post("index.php/login/logout",function(){
location.reload();
});
}
}); // document ready function
+75
View File
@@ -0,0 +1,75 @@
$(function(){
ls.initAccountsModel = function(){
function fAddSubmenu(p){
this.id = p.id
this.naam = p.naam;
this.paginanaam = p.paginanaam;
}
if (ls.AccountsModel !== undefined){
ls.AccountsModel.initModel();
}
else {
ls.AccountsModel = {
selectedMenu : ko.observable(1),
accountsmenu : ko.observableArray([]),
initBindings :function(){
var self = ls.AccountsModel;
if (!ko.dataFor(document.getElementById('pagaccounts')) ) {
ko.applyBindings(ls.AccountsModel, document.getElementById("pagaccounts"));
}
self.accountsmenu.removeAll();
$.post("index.php/shared/menu/getsubmenu/8", function(result){
if (result){
$.each(result, function(i,p){
self.accountsmenu.push(new fAddSubmenu(p));
}); // each
}
self.initModel();
},'json');
},
initModel: function(){
var self = ls.AccountsModel;
self.selectedMenu(self.accountsmenu()[0]);
self.fToonPag();
},
fChangeMenu: function(){
var self=ls.AccountsModel;
if (self.selectedMenu().id == this.id) return;
self.selectedMenu(this);
self.fToonPag();
},
fToonPag: function(){
var self=ls.AccountsModel;
if (self.selectedMenu() == undefined) return;
switch (self.selectedMenu().paginanaam){
case 'organisaties':
ls.initOrganisatiesModel();
$("#pagGebruikersxx").hide("slide", {direction:"right"} ,200)
$("#pagSortering").hide("slide", {direction:"right"} ,200)
$("#pagOrganisatiesXL").hide().show("slide", {direction:"right"} ,200)
break;
case 'gebruikers':
ls.initGebruikersModel();
$("#pagOrganisatiesXL").hide("slide", {direction:"right"} ,200)
$("#pagSortering").hide("slide", {direction:"right"} ,200)
$("#pagGebruikersxx").hide().show("slide", {direction:"right"} ,200)
break;
case 'sortering':
mh.initSorteringModel();
$("#pagGebruikersxx").hide("slide", {direction:"right"} ,200)
$("#pagOrganisatiesXL").hide("slide", {direction:"right"} ,200)
$("#pagSortering").hide().show("slide", {direction:"right"} ,200)
}
},
} ; // definition van model
ls.AccountsModel.initBindings();
}; // else
}// function initAccountsModel
});
+71
View File
@@ -0,0 +1,71 @@
$(function(){
ls.initBeheerModel = function(){
function fAddBeheermenu(p){
this.id = p.id
this.naam = p.naam;
this.paginanaam = p.paginanaam;
}
if (ls.BeheerModel !== undefined){
ls.BeheerModel.initModel();
}
else {
ls.BeheerModel = {
selectedMenu : ko.observable(''),
beheermenu : ko.observableArray([]),
initBindings :function(){
var self = ls.BeheerModel;
$.post('index.php/shared/menu/getsubmenu/5', function(result){
if (result){
$.each(result, function(i,p){
self.beheermenu.push(new fAddBeheermenu(p));
})
}
//if (!ko.dataFor(document.getElementById('pagBindBeheer')) ) {
ko.applyBindings(ls.BeheerModel, document.getElementById("pagBindBeheer"));
//}
self.initModel();
},'json');
},
initModel: function(){
var self = ls.BeheerModel;
self.selectedMenu(self.beheermenu()[0]);
self.fGetPagina();
},
fChangeMenu: function(){
var self=ls.BeheerModel;
if (self.selectedMenu().id== this.id) return;
self.selectedMenu(this);
self.fGetPagina();
},
fGetPagina: function(){
var self=ls.BeheerModel;
$(".submenupage").fadeOut(0);
switch (self.selectedMenu().paginanaam){
case "versies":
ls.initVersiesModel();
$("#pagVersies").css('left', 0);
$("#pagVersies").hide().show("slide", {direction:"right"} ,200)
break;
case "swvversies":
ls.initSWVversiesModel();
$("#pagSWVversies").hide().show("slide", {direction:"right"} ,200)
break;
case "scoreomschrijving":
mh.initScoresModel();
$("#pagScores").hide().show("slide", {direction:"right"} ,200)
break;
}; // switch
},
} ; // definition van model
ls.BeheerModel.initBindings();
}; // else
}// function initBeheerModel
});
@@ -0,0 +1,288 @@
$( function () {
var timer;
var timeout = null;
function fAddBericht( b ) {
var dit = this;
this.berichtid = b.id;
this.kort = ko.observable( '' );
if ( b.samenvatting ) {
dit.kort( b.samenvatting );
}
this.lang = ko.observable( '' );
this.textarea = ko.observable();
if ( b.inhoud ) {
this.lang( b.inhoud );
}
this.startdatum = ko.observable( b.datum );
this.froalaDirty = ko.observable( false );
this.nogOverKort = ko.pureComputed( function ( i, k ) {
if ( dit.kort() ) {
return 140 - dit.kort().length;
}
else {
return 140;
}
} );
this.kleurKop = ko.pureComputed( function ( i, k ) {
if ( dit.nogOverKort() < 0 ) {
return 'red';
}
if ( dit.nogOverKort() > 136 ) {
return 'blue';
}
else {
return 'black';
}
} );
}
function fAddCluster( c ) {
var dit = this;
this.clusterid = c.clusterid;
this.cluster = c.naam;
this.aantalm = ko.observable( c.aantalm );
this.bezig = ko.observable( false );
this.modules = ko.observableArray( [] );
if ( c.modules ) {
dit.bezig( true );
$.each( c.modules, function ( i, m ) {
dit.modules.push( new fAddModule( m ) );
} )
dit.bezig( false );
}
if ( !dit.bezig() ) {
this.aangevinkt = ko.pureComputed( function ( i, b ) {
if ( dit.modules() ) {
var gevinkt = false;
var teller = 0;
$.each( dit.modules(), function ( i, v ) {
if ( v.vinkje() == true ) {
teller++;
}
} )
if ( teller == dit.modules().length ) {
gevinkt = true
}
return gevinkt;
}
} );
this.allesaanvinken = ko.observable( dit.aangevinkt() );
}
this.allesaanvinken = ko.observable( dit.aangevinkt() );
}
function fAddModule( m ) {
var teller = 0;
var gekoppeld = 0;
var dit = this;
this.moduleid = m.modulenr;
this.module = m.naam;
this.vinkje = ko.observable( false );
if ( m.vinkje == 'T' ) {
dit.vinkje( true );
}
this.cluster = 0;
if ( m.clusterid ) {
this.cluster = m.clusterid;
}
}
mh.initBerichtBeheerModel = function () {
if ( mh.BerichtBeheerModel !== undefined ) {
mh.BerichtBeheerModel.initModel();
}
else {
mh.BerichtBeheerModel = {
nieuwtjes : ko.observableArray( [] ),
clusters : ko.observableArray( [] ),
admin : ko.observable(true),
selectedBericht: ko.observable( '' ),
bezig : ko.observable(false),
froalaOptions : {
key : 'zc1QXIa2QZe1UOXATEX==',
toolbarButtons: ['bold', 'italic', 'underline', 'subscript', 'superscript', 'outdent', 'indent', 'formatOL', 'formatUL', 'html']
},
initBindings: function () {
var self = mh.BerichtBeheerModel;
if ( !ko.dataFor( document.getElementById( 'pagberichtbeheer' ) ) ) {
ko.applyBindings( mh.BerichtBeheerModel, document.getElementById( "pagberichtbeheer" ) );
}
self.initModel();
},
initModel: function () {
var self = mh.BerichtBeheerModel;
self.fCheckAdmin();
},
fCheckAdmin: function () {
var self = mh.BerichtBeheerModel;
$.post( "index.php/monpas/berichten/checkrechten/", function ( data ) {
if ( data ) {
self.admin( data);
}
}, 'json' ).always(function(){
self.fGetAdminBerichten()
});
},
fGetAdminBerichten: function(){
var self = mh.BerichtBeheerModel;
if ( !self.admin() ) {
return;
}
var timeout = null;
$.post( "index.php/monpas/berichten/getAdminBerichten/", function ( data ) {
self.nieuwtjes.removeAll();
if ( data ) {
$.each( data, function ( i, p ) {
initFroalaEditor( '.froala-editor' );
self.nieuwtjes.push( new fAddBericht( p ) );
} );// each
}
}, 'json' );
},
fMaakBericht: function () {
var self = mh.BerichtBeheerModel;
if ( ! self.admin() ) {
return;
}
$.get( 'index.php/monpas/berichten/create_empty_bericht', function () {
self.fGetAdminBerichten();
} );
},
fBewaarBericht: function () {
var self = mh.BerichtBeheerModel;
var dit = this;
if ( !self.admin() ) {
return;
}
dit.froalaDirty( true );
if ( timeout ) {
clearTimeout( timeout );
timeout = null;
}
timeout = setTimeout( function () {
if ( dit.kort().length < 4 || dit.kort().length > 137 ) return;
if ( dit.lang().length < 9 ) return;
var submitDATA = {
inhoud : dit.lang(),
samenvatting: dit.kort(),
datum : dit.startdatum()
};
$.post( 'index.php/monpas/berichten/saveBericht/' + dit.berichtid, submitDATA, function () {
dit.froalaDirty( false );
} );
}, 700 );
},
fOpenModuleKoppeling: function () {
var self = mh.BerichtBeheerModel;
self.selectedBericht( this );
if ( !self.admin() ) {
return;
}
$( '#popupBerichtModule' ).modal( 'show' );
$.post( "index.php/monpas/berichten/getmodules/" + this.berichtid, function ( data ) {
if ( data ) {
self.clusters.removeAll();
$.each( data, function ( i, b ) {
self.clusters.push( new fAddCluster( b ) );
} );// each
}; //if
}, 'json' );
},
fEditModuleKeuze: function () {
var self = mh.BerichtBeheerModel;
var dit = this;
if ( !self.admin() ) {
return;
}
var keuze = 'F';
if ( dit.vinkje() ) {
keuze = 'T';
}
$.each( self.clusters(), function ( i, c ) {
if ( c.clusterid == dit.cluster ) {
c.allesaanvinken( c.aangevinkt() );
}
});
var submitData = {
"modulevinkje": keuze,
"berichtid" : self.selectedBericht().berichtid,
"moduleid" : this.moduleid,
}
$.post( "index.php/monpas/berichten/koppelmodule", submitData, function ( data ) {
}, 'json' );
},
fEditClusterKeuze: function () {
var self = mh.BerichtBeheerModel;
var dit = this;
if ( !self.admin() ) {
return;
}
var keuze;
if ( dit.allesaanvinken() ) {
keuze = 'T';
$.each( dit.modules(), function ( i, b ) {
b.vinkje( true );
} );// each
}
else{
keuze = 'F';
$.each( dit.modules(), function ( i, b ) {
b.vinkje( false );
} );
}
var submitData = {
"clustervinkje": keuze,
"berichtid" : self.selectedBericht().berichtid,
"clusterid" : dit.clusterid,
}
$.post( "index.php/monpas/berichten/koppelcluster", submitData, function ( data ) {
}, 'json' );
},
fVerwijderBericht: function () {
var self = mh.BerichtBeheerModel;
var dit = this;
if ( !self.admin() ) {
return;
}
apprise("Weet je zeker dat je dit bericht wilt verwijderen? Deze wijziging kan niet ongedaangemaakt worden.",
{'verify':true, textYes: "ja", textNo: "nee"}, function(answer) {
if (answer) {
$.post("index.php/monpas/berichten/berichtomwegtegooien/" + dit.berichtid, function (data) {
if (data) {
self.fGetAdminBerichten()
}
}, 'json');
}
})
},
}; // definition van model
mh.BerichtBeheerModel.initBindings();
}
; // else
}// function initBerichtBeheerModel
} );
+53
View File
@@ -0,0 +1,53 @@
$(function () {
function fAddBericht(b) {
var dit = this;
this.berichtid = b.id;
this.kort = ko.observable(b.samenvatting);
this.lang = ko.observable(b.inhoud);
this.startdatum = ko.observable(b.datum);
}
mh.initBerichtenModel = function () {
if (mh.BerichtenModel !== undefined) {
mh.BerichtenModel.initModel();
}
else {
mh.BerichtenModel = {
nieuwtjes : ko.observableArray([]),
admin : ko.observable(false),
initBindings: function () {
var self = mh.BerichtenModel;
if (!ko.dataFor(document.getElementById('pagberichten'))) {
ko.applyBindings(mh.BerichtenModel, document.getElementById("pagberichten"));
}
self.initModel();
},
initModel: function () {
var self = mh.BerichtenModel;
$.post("index.php/monpas/berichten/getBerichten/", function(data){
self.nieuwtjes.removeAll();
if (data) {
$.each(data, function (i, p) {
self.nieuwtjes.push(new fAddBericht(p));
});// each
}
},'json');
},
}; // definition van model
mh.BerichtenModel.initBindings();
}
; // else
}// function initBerichtenModel
});
+893
View File
@@ -0,0 +1,893 @@
$(function(){
var timeout;
mh.initCompactSopModel = function(){
function fAddSchooljaar(s){
this.id = s.schooljaarnr;
this.naam = s.naam;
}
function fAddSchool(s){
this.schoolid = s.id;
this.naam = s.naam;
this.straat = ko.observable(s && s.straat ? s.straat: '');
this.brin = s.brin;
this.plaats = ko.observable(s && s.plaats? s.plaats :'');
this.foon = ko.observable(s && s.telefoon ? s.telefoon : '');
this.email = ko.observable(s && s.email1 ? s.email1: '');
this.site = ko.observable(s && s.web ? s.web: '')
this.logo = ko.observable(s.logo)
}
function fAddOnderdeel(o) {
var dit = this;
this.id = o.id;
this.nummer = o.nummer;
this.ijkpunten = o.ijkpunten;
this.geenLicentie = ko.observable(o.licentie == "T" ? false : true);
this.naam = o.naam;
this.naamkort2 = ko.observable(o.naamkort);
switch(o.nummer){
case '1': dit.naamkort2('Diversiteit'); break;
case '2': dit.naamkort2('Bas.Ond.'); break;
case '3': dit.naamkort2('Omvang Ond.');break;
case '4': dit.naamkort2('Kwal. Ond.'); break;
case '5': dit.naamkort2('Exp.Team'); break;
case '6': dit.naamkort2('Tevr. School'); break;
case '7': dit.naamkort2('Middelen'); break;
case '8': dit.naamkort2('Insp. indic.');
}
this.groepen = ko.observable(o && o.groepen && o.groepen > 8 ? o.groepen : 0);
this.schooltype = o.schooltype;
this.modulenr = o.modulenr;
this.versie = o.versie;
this.schooljaar = o.schooljaar;
// this.schooljaarV = o.schooljaarV;
this.aantallln = ko.observable(o && o.aantallln ? o.aantallln : 0);
// this.aantalllnV = ko.observable(o && o.aantalllnV ? o.aantalllnV : 0);
//
this.gekozenVersie = ko.observable('');
this.selected = ko.observable(false); // selected om geplaatst te worden
this.opA4 = ko.observable(false); // op een pagina gezet
this.gekozenVergelijking = ko.observable();
// this.tlvs = ko.observableArray([]);
// this.arrangementen = ko.observableArray([]);
this.orgversies = ko.observableArray([]);
this.budgetversies = ko.observableArray([]);
this.omvangschooljaren = ko.observableArray([]);
this.selectedLijstId = ko.observable(0);
if(o.filledversies){
$.each(o.filledversies, function(z,v){
dit.orgversies.push(new fAddOrgversie(z, v))
});
}
if(o.budgetversies){
$.each(o.budgetversies, function(n,b){
dit.budgetversies.push(new fAddBudgetversie(n, b))
});
}
if(o.gevuldeschooljaren){
$.each(o.gevuldeschooljaren, function(v, g){
dit.omvangschooljaren.push(new fAddOmvangSchooljaar(v,g))
});
}
this.geenGegevens = ko.pureComputed(function(){
if (o.gegevens == "F") return true
else return false
},this)
this.versies = ko.observable(false);
this.isBreedBlok = ko.pureComputed(function(){
if (this.groepen() >=9 ) return true
if (this.nummer == 7) return true
if (this.nummer == 8) return true
return false
}, this)
this.infotekst = ko.pureComputed(function(){
var schooljaar = mh.CompactSopModel.selectedSchooljaar() ? mh.CompactSopModel.selectedSchooljaar().naam : '' ;
var tekst = ''
var diversiteit = o.erIsDiversiteit === 'T' ? true : false
if (this.geenLicentie() ) return "Geen licentie voor het instrument bij dit onderdeel." ;
if (diversiteit && this.nummer == 1) return this.versie
if (! diversiteit && this.nummer == 1) { return "Vul eerst de diversiteitsmeter" + schooljaar + " in."; }
if (this.nummer==7 ){
if (!this.budgetversies() || this.budgetversies().length === 0 ) return "Vul eerst de monitor financiën in."
if (this.budgetversies().length == 1) return "Kalenderjaar: " + this.budgetversies()[0].kalenderjaar()
if (this.budgetversies().length > 1) return "Meerdere versies beschikbaar."
return 'fout'
}
if (this.nummer==3){
if(this.omvangschooljaren().length > 1) return "Meerdere schooljaren beschikbaar."
if(this.omvangschooljaren().length == 1){
var tlvs = "geen tlvs, ";
var arr = "geen arrangementen";
if(this.omvangschooljaren()[0].erZijnTLVs == true){
tlvs = "tlvs, ";
}
if(this.omvangschooljaren()[0].erZijnArrangementen == true){
arr = "arrangementen ";
}
return "Schooljaar " + this.omvangschooljaren()[0].schooljaarnaam + ', '+ tlvs + arr
}
if(!this.geenLicentie() && this.omvangschooljaren().length == 0) return "Vul eerst gegevens bij dit instrument in."
}
if (this.orgversies().length > 1) return "Meerdere versies beschikbaar."
if (this.orgversies().length == 1) return this.naam ;
if (! this.geenLicentie() && this.ijkpunten =="T") return "Vul eerst een lijst bij dit instrument in."
return ''
},this)
}
function fAddTLVs(x,t){
var dit = this;
this.index = x;
this.tlvid = t.id;
this.schooljaarnr = t.schooljaarnr;
this.schooljaar = t.naam;
this.sbo = ko.observable(t && t.sbo ? t.sbo: 0 );
this.so = ko.observable(t && t.so ? t.so: 0 );
this.bewaarSbo = ko.observable(t && t.sbo ? t.sbo: 0 );
this.bewaarSo = ko.observable(t && t.so ? t.so: 0 );
this.totaal = ko.observable(parseInt(dit.sbo()) + parseInt(dit.so()));
this.selected = ko.observable(false);
}
function fAddArrangementen( a){
var dit = this;
this.arrangementid = a.id;
this.naam = ko.observable(a.naam);
this.schooljaarnr = a.schooljaarnr;
this.schooljaar = a.schooljaar;
this.looptijd = ko.observable(a && a.lengte ==='L' ?'≥ 6 wkn': '< 6 wkn' );
this.leeftijd = ko.observable(a.leeftijd);
this.aantal = ko.observable(a && a.aantal ? a.aantal : 0);
this.bewaarAantal = ko.observable(a && a.aantal ? a.aantal : 0);
this.bewaarAantalV = ko.observable(a && a.aantalV ? a.aantalV : 0);
this.aantalV = ko.observable(a && a.aantalV ? a.aantalV : 0);
this.selected = ko.observable(false);
this.archief = ko.observable(false);
if(a.archief === 'T'){
dit.archief(true);
}
this.archiefV = ko.observable(false);
if(a.archiefV === 'T'){
dit.archiefV(true);
}
}
function fAddBudgetversie(n, b){
this.budgetid = ko.observable(n + 1);
this.kalenderjaar = ko.observable(b);
}
function fAddOmvangSchooljaar(v,g){
this.schooljaarnaam = g.naam;
this.schooljaarnr = g.schooljaarnr;
this.erZijnTLVs = g.erZijnTLVs;
this.erZijnArrangementen = g.erZijnArrangementen;
}
function fAddOrgversie(z, v) {
this.orgversieid = ko.observable(v.id);
this.naam = v.naam;
this.naamkort = v.naamkort;
this.scoretype = v.scoretype;
this.periodenummer = v.periodenummer;
this.versieid = v.versie_id;
this.vorm = v.vorm;
this.referentieVersies = ko.observableArray([]);
}
function fAddReferentieVersie(r) {
this.orgversieid = ko.observable(r.orgversieid());
this.naam = r.naam;
this.naamkort = r.naamkort;
this.scoretype = r.scoretype;
this.periodenummer = r.periodenummer;
this.versieid = r.versieid;
this.insop = r.insop;
this.vorm = r.vorm;
this.geselecteerd = ko.observable(false);
}
function fAddPagina(index,p){
var dit = this;
this.paginanummer = index + 1;
this.blokjes = ko.observableArray();
this.selectedBlokje = ko.observable();
if(p.blokjes){
$.each(p.blokjes(), function(i,b){
dit.blokjes.push(new fAddBlokje( i, b, dit.paginanummer))
})
}
else {
var n = 0;
for (var x = 0; x < 4; x++) {
dit.blokjes.push(new fAddBlokje(x, n, dit.paginanummer))
}
}
}
function fAddBlokje(teller, bestaandBlokje, paginanummer){
this.bloknummer = ko.observable(bestaandBlokje ? bestaandblokje.bloknummer : (teller + 1));
this.paginanummer = paginanummer;
this.bovenmarge = ko.observable('5px');
if(this.bloknummer() === 1 || this.bloknummer() === 2) { this.bovenmarge('30px'); }
this.linkermarge = ko.observable('5px');
if(this.bloknummer() === 1 || this.bloknummer() === 3){this.linkermarge('20px'); }
this.breedte = ko.observable('col-xs-5');
this.nummer = ko.observable(bestaandBlokje ? bestaandBlokje.nummer : null);
this.naam = ko.observable(bestaandBlokje ? bestaandBlokje.naam : '');
this.naamkort2 = ko.observable(bestaandBlokje.naamkort2);
this.kleur = ko.observable(bestaandBlokje ? bestaandBlokje.kleur : 'transparent');
this.groepen = ko.observable(bestaandBlokje ? bestaandBlokje.groepen : 0);
this.gevuld = ko.observable(false);
this.verborgen = ko.observable(false);
this.modulenr = ko.observable(0);
this.kalenderjaar = ko.observable(0);
this.gekozenVersie = ko.observable('');
this.gekozenVergelijking = ko.observable();
this.isBreedBlok = ko.observable(false)
}
if (mh.CompactSopModel !== undefined){
mh.CompactSopModel.initModel();
}
else {
mh.CompactSopModel = {
schooljaren : ko.observableArray([]),
onderdelen : ko.observableArray([]),
school : ko.observableArray([]),
selectedOmvangJaren : ko.observableArray([]),
schoolasobject : ko.observable(),
selectedSchooljaar : ko.observable(''),
selectedSopID : ko.observable(''),
selectedOnderdeel : ko.observable(''),
tobemovedOnderdeel : ko.observable(),
selectedOrgVersie : ko.observable(''),
selectedBudgetVersie : ko.observable(''),
selectedBlokje : ko.observable(''),
ls_selectedLijstId : ko.observable(),
naamNieuw : ko.observable(""),
leeftijdNieuw : ko.observable(""),
looptijdNieuw : ko.observable('L'),
aantalNieuw : ko.observable(0),
naamNieuwV : ko.observable(""),
leeftijdNieuwV : ko.observable(""),
looptijdNieuwV : ko.observable('L'),
aantalNieuwV : ko.observable(0),
schooljanee : ko.observable(false),
editok : ko.observable(false),
erIsEenSop : ko.observable(false),
druk : ko.observable(false),
toonOnderdelen : ko.observable(true),
pdfKnop : ko.pureComputed(function(){
var model = mh.CompactSopModel;
var erzijnonderdelen = false
if (! model) return false
if (model.onderdelen()){
$.each(model.onderdelen(), function(j,k){
if (k.opA4()) {
erzijnonderdelen = true
return
}
})
}
return erzijnonderdelen
}),
nieuwArrangement : ko.observable(false),
nieuwArrangementV : ko.observable(false),
selectedOnderdelen : ko.observableArray([]),
paginas : ko.observableArray([]),
uploadLogoNaam : ko.observable(),
showLogoNaam : ko.pureComputed(function(){
return mh.CompactSopModel.uploadLogoNaam().replace('C:\\fakepath\\', '')
}),
initBindings :function(){
var self = mh.CompactSopModel;
if (!ko.dataFor(document.getElementById('pagcompactsop')) ) {
ko.applyBindings(mh.CompactSopModel, document.getElementById("pagcompactsop"));
}
$.post('index.php/monpas/sop/getrechten', function (result) {
self.editok(result);
self.initModel();
}, 'json');
},
initModel: function(){
var self =mh.CompactSopModel;
$.post("index.php/monpas/compactsop/controleerschool", function (result){
self.schooljanee(result);
if (self.schooljanee() ){
self.druk(true);
self.fGetSchooljaren(function(){self.fGetCompactSop()})
}
},'json');
},
fGetSchooljaren: function(callback){
var self =mh.CompactSopModel;
$.post("index.php/monpas/compactsop/getSchooljaren", function(data){
self.selectedSchooljaar(null)
self.schooljaren.removeAll();
self.toonOnderdelen(true)
self.selectedOnderdelen.removeAll()
self.paginas.removeAll();
if(data) {
$.each(data, function (i, s) {
self.schooljaren.push(new fAddSchooljaar(s));
});//each
if (self.schooljaren() ) self.selectedSchooljaar(self.schooljaren()[0]);
} // if
self.druk(false);
if (typeof callback == "function") callback()
},'json')
},
fGetCompactSop: function(){
var self =mh.CompactSopModel;
if (self.druk()) return;
if(self.selectedSchooljaar() === undefined){
self.druk(true)
self.fGetSchooljaren()
return
}
$.post("index.php/monpas/compactsop/getCompactsop/" + self.selectedSchooljaar().id, function(result){
self.onderdelen.removeAll();
self.selectedOnderdelen.removeAll()
self.paginas.removeAll();
self.toonOnderdelen(true);
self.erIsEenSop(false);
if(result){
self.selectedSopID(result);
self.erIsEenSop(true);
}
},'json');
},
fOpenPDF: function(){
var self =mh.CompactSopModel;
window.open( "index.php/monpas/compactsop/download_pdf/" + self.selectedSopID() );
},
fGetOnderdelenEnVersies: function(){
var self =mh.CompactSopModel;
var schooljaar = self.selectedSchooljaar().id;
self.toonOnderdelen(true);
self.selectedOnderdelen.removeAll();
self.paginas.removeAll();
if(self.erIsEenSop()){
apprise("Het nieuwe Compact Sop overschrijft het bestaande Compact Sop bij dit schooljaar. Wilt u doorgaan?",
{verify: true, textYes: ' ja ', textNo: "nee"}, function (ans) {
if (ans) {
$.post("index.php/monpas/compactsop/getOnderdelenEnVersies/" + schooljaar, function(result){
self.onderdelen.removeAll();
if(result){
$.each(result, function(i, o){
self.onderdelen.push(new fAddOnderdeel(o))
self.selectedOnderdeel(self.onderdelen()[0]);
self.toonOnderdelen(true);
});
}
},'json');
} // if ans
});//apprise
} else {
$.post("index.php/monpas/compactsop/getOnderdelenEnVersies/" + schooljaar, function(result){
self.onderdelen.removeAll();
if(result){
$.each(result, function(i, o){
self.onderdelen.push(new fAddOnderdeel(o))
self.toonOnderdelen(true);
});
}
},'json');
} // else
},
fGetSchoolgegevens: function(){
var self = mh.CompactSopModel;
$.post("index.php/monpas/compactsop/getSchoolgegevens", function (result) {
if(result){
self.school.removeAll();
// hier kun je ook
//self.school(new fAddSchool(result)) doen.
// dan wordt het geen array maar een object
self.schoolasobject(new fAddSchool(result))
self.school.push(new fAddSchool(result));
$("#modSchool").modal('show');
}
}, 'json');
},
fSaveSchool: function(){
var self = mh.CompactSopModel;
if (timeout) {
clearTimeout(timeout);
timeout = null;
}
var dit = this;
timeout = setTimeout(function () {
var submitData = {
'straat' : dit.straat(),
'plaats' : dit.plaats(),
'telefoon' : dit.foon(),
'email1' : dit.email(),
'web' : dit.site(),
'id' : dit.schoolid
};
// je mag ook een post doen zonder dat je resultaat terug verwacht van de server
// dan laat je result en de afsluitenden json weg
$.post("index.php/monpas/compactsop/saveSchool", submitData, function (result) {
if(result){
}
}, 'json');
}, 600);
},
fSelecteerOnderdeel: function() {
var self = mh.CompactSopModel;
var dit = this;
if (dit.geenGegevens() || dit.geenLicentie()) return;
self.selectedOnderdeel(this);
if( (dit.orgversies() && dit.orgversies().length > 1) || dit.budgetversies().length > 1 || dit.omvangschooljaren().length > 1) {
$.each(self.onderdelen(), function (i, o) {
if (o.id !== self.selectedOnderdeel().id) {
o.versies(false);
}
});
if (dit.orgversies().length > 0) {
self.selectedOrgVersie(this.orgversies()[0]);
self.ls_selectedLijstId(this.orgversies()[0].orgversieid());
self.fGetVergelijkbareVersies();
}
if (dit.budgetversies().length > 0) {
self.selectedBudgetVersie(this.budgetversies()[0]);
self.ls_selectedLijstId(this.budgetversies()[0].budgetid());
}
dit.versies(true);
return true;
} // if meer versies
this.selected(true);
if(self.selectedOnderdeel().nummer === '1' ){
self.selectedOnderdeel().gekozenVersie("");
}
else if(self.selectedOnderdeel().nummer === '3'){
self.selectedOmvangJaren.removeAll();
if(self.selectedOnderdeel().omvangschooljaren().length == 1) {
self.selectedOmvangJaren.push(self.selectedOnderdeel().omvangschooljaren()[0].schooljaarnr);
}
}
else if(self.selectedOnderdeel().nummer === '7') {
self.selectedOnderdeel().gekozenVersie(this.budgetversies()[0].kalenderjaar())
}
else {
self.selectedOnderdeel().gekozenVersie(this.orgversies()[0].orgversieid())
}
self.selectedOnderdelen.push(self.selectedOnderdeel());
},
fAnnuleerOnderdeel: function(){
var self = mh.CompactSopModel;
var dit = this;
this.selected(false)
this.versies(false);
var indexO;
return true;
},
fStartUploading: function(){
var self = mh.CompactSopModel;
var schoolID = self.school()[0].schoolid;
var vFD = new FormData(document.getElementById('upload_form'));
var oXHR = new XMLHttpRequest();
oXHR.open('POST', 'index.php/monpas/compactsop/uploadLogo/' + schoolID);
oXHR.send(vFD);
setTimeout(function(){
var sd = {schoolID : self.school()[0].schoolid}
$.post("index.php/monpas/compactsop/getLogo" , sd, function(result){
if (result == '') self.school()[0].logo(null)
else self.school()[0].logo(result);
self.schoolasobject().logo(self.school()[0].logo())
self.uploadLogoNaam(null);
}, 'json')
}, 500) // set timeout
},
fSelecteerBudgetVersie: function(data, parent){
var self = mh.CompactSopModel;
var onderdeel = data;
var dit = this;
if (dit.naam) {
self.selectedBudgetVersie(this);
}
return true;
},
fSelecteerOrgversie: function(data, parent){
var self = mh.CompactSopModel;
var onderdeel = data;
var dit = this;
self.selectedOnderdeel(onderdeel);
if(dit.naam) {
self.selectedOrgVersie(this);
self.fGetVergelijkbareVersies();
}
return true;
},
fGetVergelijkbareVersies: function() {
var self = mh.CompactSopModel;
var dit = this;
if(self.selectedOnderdeel().orgversies()) {
$.each(self.selectedOnderdeel().orgversies(), function (x, o) {
o.referentieVersies.removeAll()
$.each(self.selectedOnderdeel().orgversies(), function(a,ref){
if (ref.versieid == o.versieid &&
ref.scoretype == o.scoretype &&
ref.orgversieid() != o.orgversieid() &&
ref.periodenummer < o.periodenummer) {
o.referentieVersies.push(new fAddReferentieVersie(ref));
}
}) // ref zoeken
});
}
},
fSelecteerVergelijking: function(parent){
var self = mh.CompactSopModel;
parent.gekozenVergelijking(this.orgversieid());
return true;
},
fSelecteerVersieOnderdeel: function(){
var self = mh.CompactSopModel;
var dit = this;
if(dit.geenGegevens() || dit.geenLicentie()) return;
self.selectedOnderdeel(this);
if(self.selectedOmvangJaren().length > 2){
apprise("Selecteer maximaal 2 schooljaren");
return;
}
if(self.selectedOnderdeel().nummer == 3 && self.selectedOmvangJaren().length == 0){
apprise("Selecteer één of twee schooljaren");
return;
}
if(self.selectedOrgVersie()){
self.selectedOnderdeel().gekozenVersie(self.selectedOrgVersie().orgversieid());
}
if(self.selectedBudgetVersie()){
self.selectedOnderdeel().gekozenVersie(self.selectedBudgetVersie().kalenderjaar());
}
self.fOnderdelenInArray();
return true;
},
fSluitVersieOnderdeel(){
var self = mh.CompactSopModel;
this.versies(false);
},
fOnderdelenInArray: function() {
var self = mh.CompactSopModel;
var dit = this;
self.selectedOnderdelen.push(self.selectedOnderdeel());
self.selectedOnderdeel().selected(true);
},
fTerugNaarOnderdelen: function(){
var self = mh.CompactSopModel;
self.toonOnderdelen(true)
},
fMaakLayout: function(){
var self = mh.CompactSopModel;
self.toonOnderdelen(false);
//reset alle paginas
$.each(self.onderdelen() , function(i,onderdeel){
onderdeel.opA4(false);
})
self.paginas.removeAll();
var aantalOnderdelen =0
$.each(self.onderdelen(), function(x,onderdeel){
if (onderdeel.selected()){
if(onderdeel.nummer === '7' ||parseInt(onderdeel.groepen()) > 8 || onderdeel.nummer === '8' ){
aantalOnderdelen = parseInt(aantalOnderdelen) + parseInt(2);
} else {
aantalOnderdelen += 1
}
}
});
var vellen = Math.ceil(aantalOnderdelen/4);
var p = 0;
for(var i = 0; i < vellen; i++){
self.paginas.push( new fAddPagina(i, p));
}
},
// fAllowDrop: function(data, event){
// var self = mh.CompactSopModel;
// event.stopPropagation();
// event.preventDefault();
// },
// fDragstart: function(data, event){
// var self = mh.CompactSopModel;
// var dit = this;
// data.dataTransfer.setData(event.naam, event.nummer);
// },
// fDrop: function(data, event){
// var self = mh.CompactSopModel;
// event.preventDefault();
// var data2 = event.dataTransfer.getData(event.naam, event.nummer);
// event.target.appendChild(document.getElementById(data2));
// },
fSelectVoorPlaatsing: function(){
var self = mh.CompactSopModel;
if (this == self.tobemovedOnderdeel() ){
self.tobemovedOnderdeel(null);
} else {
self.tobemovedOnderdeel(this)
}
},
fHiernaartoe: function(){
var self = mh.CompactSopModel;
if (! self.tobemovedOnderdeel() && this.gevuld()){
self.fAnnuleerPlaatsing(this);
return
}
if (this.gevuld() ) {
apprise("Deze positie is al gevuld.");
return;
}
self.fSetBlokje(this)
},
fSetBlokje:function(selectedBlokje){
var self = mh.CompactSopModel;
if (selectedBlokje.gevuld()) return;
if (! self.tobemovedOnderdeel() ) return;
if (self.tobemovedOnderdeel().opA4()) return;
if (self.tobemovedOnderdeel().isBreedBlok() && ! self.fCheckGrootBlokPast(selectedBlokje)) return;
var paginanummer = selectedBlokje.paginanummer - 1
// als het een breed blok is, ga dan uit van het eerste blok in de
//rij om alle waardes te zetten
//of dat kan is in fCheckGrootBlokPast gecontroleerd
if ((selectedBlokje.bloknummer() ==2 || selectedBlokje.bloknummer() ==4) &&
self.tobemovedOnderdeel().isBreedBlok()){
selectedBlokje = self.paginas()[paginanummer].blokjes()[selectedBlokje.bloknummer() - 2]
} ;
selectedBlokje.naamkort2(self.tobemovedOnderdeel().naamkort2());
selectedBlokje.groepen(self.tobemovedOnderdeel().groepen());
selectedBlokje.isBreedBlok(self.tobemovedOnderdeel().isBreedBlok());
if (selectedBlokje.isBreedBlok()) {
self.fVoegGrootBlokToe(selectedBlokje);
}
self.tobemovedOnderdeel().opA4(true);
selectedBlokje.modulenr(self.tobemovedOnderdeel().modulenr ? self.tobemovedOnderdeel().modulenr : null)
selectedBlokje.gekozenVersie(self.tobemovedOnderdeel().gekozenVersie() ? self.tobemovedOnderdeel().gekozenVersie() : null)
selectedBlokje.gekozenVergelijking(self.tobemovedOnderdeel().gekozenVergelijking() ? self.tobemovedOnderdeel().gekozenVergelijking() : null)
selectedBlokje.nummer(self.tobemovedOnderdeel().nummer);
selectedBlokje.gevuld(true);
selectedBlokje.kleur('#930f50');
selectedBlokje.naam(self.tobemovedOnderdeel().naam);
self.tobemovedOnderdeel(null)
},
fCheckGrootBlokPast :function(blokje){
var self = mh.CompactSopModel;
var paginanr = parseInt(blokje.paginanummer) -1
var targetblokje= parseInt( blokje.bloknummer())
var testblokje
if (targetblokje == 1 || targetblokje == 3) {
// check of het volgende blokje leeg is
testblokje = self.paginas()[paginanr].blokjes()[targetblokje];
}
if (targetblokje == 2 || targetblokje == 4) {
// check of het vorige blokje leeg is
testblokje = self.paginas()[paginanr].blokjes()[(targetblokje - 2)];
}
if (testblokje.gevuld() || blokje.gevuld()){
apprise("Voor dit onderdeel is de volle breedte van de pagina nodig. " +
"Kies een ander plek of verwijder <i>" +
testblokje.naam() + "</i>" )
return false
}
return true
},
fVoegGrootBlokToe: function (blokje){
var self = mh.CompactSopModel;
// een groot blokje heeft altijd de bloknummer 1 of 3 want
//dat is hiervoor al getest en anders gezet op bloknummer 1 of 2
var paginanr = parseInt(blokje.paginanummer) -1
var targetblokje= parseInt( blokje.bloknummer())
var testblokje
testblokje = self.paginas()[paginanr].blokjes()[targetblokje];
testblokje.verborgen(true);
},
fAnnuleerPlaatsing: function(blokje){
var self = mh.CompactSopModel;
var geplaatst = 0;
$.each(self.onderdelen(), function(i,p){
if (p.nummer == blokje.nummer()) {
p.opA4(false)
}
})
blokje.gevuld(false);
blokje.verborgen(false);
blokje.nummer('');
blokje.modulenr('');
blokje.kalenderjaar('');
blokje.gekozenVersie('');
blokje.gekozenVergelijking('');
blokje.kleur('transparent');
blokje.naam('');
blokje.naamkort2('');
if (blokje.isBreedBlok()){
blokje.isBreedBlok(false)
var paginanr = parseInt(blokje.paginanummer) -1
var targetblokje= parseInt( blokje.bloknummer()) ;
// bij een breedblokje is het bloknummer altijd 1 of 3
self.paginas()[paginanr].blokjes()[targetblokje].verborgen(false);
}
},
fMaakPDF: function(){
var self = mh.CompactSopModel;
if (! self.selectedSchooljaar()){
apprise("Geen schooljaar geselecteerd.")
return
}
var sops = [];
var sop;
$.each(self.paginas(), function(x, p){
$.each(p.blokjes(), function(i, s){
if(!s.verborgen()) {
sop = {
'paginanr' : s.paginanummer,
'bloknr' : s.bloknummer(),
'onderdeelnr' : s.nummer(),
'modulenr' : s.modulenr() ? s.modulenr() : '',
'kalenderjaar': s.kalenderjaar() ? s.kalenderjaar() : '',
'orgversieid' : s.gekozenVersie() ? s.gekozenVersie() : '',
'vergelijkid' : s.gekozenVergelijking() ? s.gekozenVergelijking() : null
};
sops.push(sop);
}
});
});
if(self.selectedOmvangJaren().length > 1){
self.selectedOmvangJaren.sort(function(a,b){return a-b}) ;
}
var submitData = {
'schooljaarnr' : self.selectedSchooljaar().id,
'onderdelen' : sops,
'jaren' : self.selectedOmvangJaren()
};
$.post("index.php/monpas/compactsop/maakPDF/", submitData, function(result){
window.open('tmp/temp' + result + '.html');
if(result){
self.erIsEenSop(true);
}
},'json');
},
filterSelected: function(onderdelen){
if (! onderdelen()) return false;
return onderdelen().filter(function(onderdeel){
return ( onderdeel.selected() );
});
},
filterSelected_NotPlaced: function(onderdelen){
if (! onderdelen()) return false;
return onderdelen().filter(function(onderdeel){
return ( onderdeel.selected() && ! onderdeel.opA4() );
});
},
fToonUsage: function(wat){
switch (wat){
case "plaatsen" : apprise("Klik op een onderdeel om het te selecteren. <br>" +
"Klik vervolgens onder <i>Plaats onderdelen</i> op het vak waar u het onderdeel wilt plaatsen.");
break;
case "terugplaatsen" : apprise("Klik op een geplaatst onderdeel om de plaatsing ongedaan te maken.");
break;
}
}
} ; // definition van model
mh.CompactSopModel.initBindings();
} // else
}// function init mh.SoptestModel
});
+514
View File
@@ -0,0 +1,514 @@
$(function(){
ls.initFileFoldersModel = function(modulenr){
function fAddFolder(p, layer){
this.id = p.id
this.organisatie_id = p.organisatie_id;
this.valtonder = p.valtonder;
this.nummer = ko.observable(p.nummer);
this.naam = ko.observable(p.naam);
this.geopend = ko.observable(false);
this.selected = ko.observable(false);
this.subfolders = ko.observableArray();
this.layer = ko.observable(layer);
var dit = this
this.bestanden = ko.observableArray()
if (p.files){
$.each(p.files, function(j,k){
dit.bestanden.push(new fAddFile(k));
});
}
if (p.subfolders){
$.each(p.subfolders, function(j,k){
dit.subfolders.push( new fAddFolder(k, dit.layer()+ 1));
})
}
}
function fAddFile(p){
this.id = p.id
this.naam = ko.observable(p.naam)
this.modified = p.modified
this.editMode = ko.observable(false)
this.pdf = ko.observable(false)
if (p.pdf==true || p.pdf==1) this.pdf(true);
this.owner = false;
if (p.owner == 1) this.owner = true
}
if (ls.FileFoldersModel !== undefined){
ls.FileFoldersModel.initModel(modulenr);
}
else {
ls.FileFoldersModel = {
modulenr : ko.observable(),
folders : ko.observableArray(),
bezig : ko.observable(false),
filefocus : ko.observable(),
zoekfile : ko.observable(),
zoekresultaat : ko.observableArray([]),
manager : ko.observable(false),
textAfwijkend : ko.observable(false),
specialetekst : ko.observable(''),
newTopNaam : ko.observable(''),
newTopNummer : ko.observable(),
newSubNaam : ko.observable(''),
newSubNummer : ko.observable(),
newNummer : ko.observable(),
newNaam : ko.observable(),
selectedFolder : ko.observable(),
initBindings :function(modulenr){
var vm = ls.FileFoldersModel;
if (!ko.dataFor(document.getElementById('pagfilefolders')) ) {
ko.applyBindings(ls.FileFoldersModel, document.getElementById("pagfilefolders"));
}
$.post('index.php/shared/filefolders/getAuth', function(result){
if (result > 0) vm.manager(true)
else vm.manager(false);
vm.initModel(modulenr);
},'json');
},
initModel: function(modulenr){
var vm = ls.FileFoldersModel;
vm.modulenr(modulenr)
vm.fGetFileFolders(modulenr);
var submitData={
'modulenr' : modulenr,
'paginanaam': 'filefolders',
}
$.post('index.php/shared/filefolders/getafwijkendetekst', submitData, function(result){
if (result){
vm.textAfwijkend(true);
vm.specialetekst(result);
}
},'json')
},
fGetFileFolders: function(){
var vm = ls.FileFoldersModel;
var dit = this;
vm.folders.removeAll();
$.post('index.php/shared/filefolders/getfolders/' + modulenr, function(result){
if (result){
$.each(result, function(i,p){
vm.folders.push(new fAddFolder(p,0));
})
}
},'json')
},
fToggleGeopend: function(){
this.geopend(! this.geopend())
},
fSetSelected:function(){
var vm = ls.FileFoldersModel;
var dit = this;
var huidig = this.selected();
if (vm.folders()){
$.each(vm.folders(), function(i,p){
vm.fUnselectAll(p)
});
}
dit.selected(! huidig);
},
fUnselectAll:function(folder){
var vm =ls.FileFoldersModel;
folder.selected(false);
if (folder.subfolders()){
$.each(folder.subfolders(), function(j,k){
vm.fUnselectAll(k);
});
}
},
fNewTopFolder: function(){
var vm = ls.FileFoldersModel;
$(" #modNewTopFolder ").modal('show');
vm.newTopNaam('');
if(vm.folders && vm.folders().length > 0){
var index = vm.folders().length -1;
vm.newTopNummer(Number(vm.folders()[index].nummer()) + 1);
}
else{
vm.newTopNummer(1);
}
},
fSafeTopfolder: function(){
var vm = ls.FileFoldersModel;
var dit = this;
var nummer = dit.newTopNummer();
if(isNaN(nummer) && nummer !== '' ){
apprise("Vul bij nummer een getal in of vul niets in.")
return;
}
if(nummer === ''){
nummer= false;
}
var sd ={
nummer : nummer,
naam : dit.newTopNaam(),
modulenr : vm.modulenr()}
$("#modNewTopFolder").modal('hide');
$.post("index.php/shared/filefolders/maakTopFolder" ,sd, function(result){
vm.bezig(false);
if (! result) return;
dit.folders.push(new fAddFolder(result, 0));
dit.newTopNummer('');
dit.newTopNaam('');
},'json')
},
fNewSubFolder: function(){
var vm = ls.FileFoldersModel;
vm.newSubNummer(1);
vm.newSubNaam('');
vm.selectedFolder(this);
$("#modNieuweSubFolder").modal('show');
if(vm.selectedFolder().subfolders() && vm.selectedFolder().subfolders().length > 0){
var index = vm.selectedFolder().subfolders().length -1;
vm.newSubNummer( Number(vm.selectedFolder().subfolders()[index].nummer() ) + 1 )
}
else{
vm.newSubNummer(1);
}
},
fSafeSubfolder: function(){
var vm = ls.FileFoldersModel;
var dit = this;
var nummer = dit.newSubNummer()
if(isNaN(nummer) && nummer !== '' ){
apprise("Vul bij nummer een getal in of vul niets in.")
return;
}
var sd ={
nummer : nummer,
naam : dit.newSubNaam(),
folderID : vm.selectedFolder().id,
modulenr : vm.modulenr()}
$("#modNieuweSubFolder").modal('hide');
$.post("index.php/shared/filefolders/maakSubFolder" ,sd, function(result){
vm.bezig(false);
if (! result) return;
vm.selectedFolder().subfolders.push(new fAddFolder(result, vm.selectedFolder().layer() + 1))
dit.newTopNummer('');
dit.newTopNaam('');
vm.selectedFolder('');
},'json')
},
fStandaardFolders: function(){
var vm = ls.FileFoldersModel;
var sd ={modulenr : vm.modulenr()}
$.post("index.php/shared/filefolders/maakStandaardFolders" ,sd, function(result){
if (! result){
apprise('Geen standaardfolders beschikbaar.')
return;
}
$.each(result, function(i,p){
vm.folders.push(new fAddFolder(p,0))
});
},'json')
},
fDeleteFolder: function(parent){
var vm = ls.FileFoldersModel;
if (vm.bezig() ) return;
vm.bezig(true);
var dit = this;
apprise("Weet u zeker dat u <i>" + this.naam() + "</i> wilt verwijderen?", {verify:true, textYes: " ja ",textNo:"nee"},
function(ans){
if (ans){
$.post("index.php/shared/filefolders/deleteFolder/" + dit.id,function(){
if (parent.constructor.name == "fAddFolder") {
parent.subfolders.remove(dit);
} else {
parent.folders.remove(dit)
}
vm.bezig(false);
})
} else {
vm.bezig(false);
}
}); // apprise
},
fEditFolder: function(){
var vm = ls.FileFoldersModel;
if (vm.manager() != 1) {
apprise("U bent niet de eigenaar van dit bestand.");
return;
}
vm.selectedFolder(this);
vm.newNummer(vm.selectedFolder().nummer())
vm.newNaam(vm.selectedFolder().naam())
$(" #modEditFolder ").modal('show');
},
fSaveEditFolder: function() {
var vm = ls.FileFoldersModel;
var dit = this;
if (isNaN(vm.newNummer()) && vm.newNummer() !== '') {
apprise("Vul bij nummer een getal in of vul niets in.")
return;
}
$(" #modEditFolder ").modal('hide')
var valtonder = vm.selectedFolder().valtonder ? vm.selectedFolder().valtonder : vm.selectedFolder().id;
var sd = {
nummer : vm.newNummer(),
naam : vm.newNaam(),
valtonderID: valtonder,
folderID : vm.selectedFolder().id
}
$.post("index.php/shared/filefolders/editFolder", sd, function (result) {
if(result) {
vm.fGetFileFolders();
vm.bezig(false);
vm.selectedFolder('')
vm.newNummer('');
vm.newNaam('');
}
}, 'json')
},
fSaveFilenaam: function(){
var vm = ls.FileFoldersModel;
this.editMode(false);
vm.filefocus().editMode(false);
var sd= {naam: this.naam(),
id: this.id}
$.post('index.php/shared/filefolders/saveFileNaam', sd);
},
fGetSelectedRecursive(folder){
var vm = ls.FileFoldersModel;
selected = false;
if (folder.selected()) {
selected= folder;
return selected;
} else{
if (folder.subfolders()){
$.each(folder.subfolders(), function(j,k){
vm.fGetSelectedRecursive(k);
});
}
}
return selected;
},
fGetSelected:function(){
var vm = ls.FileFoldersModel;
var selected = false;
if (vm.folders()){
$.each(vm.folders(), function(i,p){
if (p.selected()) {
selected= p;
return false;
} else {
selected= vm.fGetSelectedRecursive(p);
if (selected) return false;
}
});
}
return selected;
},
fUploadFile: function(){
var vm = ls.FileFoldersModel;
var folder = vm.fGetSelected();
if (! folder) {
apprise("Selecteer eerst een folder");
return;
}
else{
var dit = this;
var docID = 0;
// als this een file is geef dan fileID mee om te overschrijven
// docID = this.id
ls.initUploader(vm.modulenr(), folder.id,docID,
function(succes){
if (succes) vm.fRefreshFiles(folder) });
}
},
fRefreshFiles: function(folder){
var vm = ls.FileFoldersModel;
if (vm.bezig()) return
vm.bezig(true)
var sd ={folderID :folder.id}
$.post("index.php/shared/filefolders/getFiles", sd, function(result){
folder.bestanden.removeAll();
if (result){
$.each(result,function(i,p){
folder.bestanden.push(new fAddFile(p));
});
}
vm.bezig(false);
},'json');
},
fSetEditMode: function(){
var vm = ls.FileFoldersModel;
if (this.owner != 1) {
apprise("U bent niet de eigenaar van dit bestand.");
return;
}
if (vm.filefocus()) vm.filefocus().editMode(false);
vm.filefocus(this);
this.editMode(! this.editMode());
},
fDeleteBestand: function(parent){
var vm = ls.FileFoldersModel;
if (vm.bezig()) return;
vm.bezig(true);
var that = this
apprise("Weet u zeker dat u " + that.naam() + " wilt verwijderen?" , {verify: true, textYes: ' ja ', textNo: 'nee'},
function(ans){
if (ans){
$.post('index.php/shared/filefolders/deleteFile/' + that.id, function(){
parent.bestanden.remove(that);
vm.bezig(false);
});
} else {vm.bezig(false); }
}); // apprise
},
fShowDocument:function(){
ls.initDownloadModel(this,"INZIEN");
},
fNoConversionAvailable: function(){
ls.initDownloadModel(this,"INZIEN");
},
fDownloadDoc:function(){
ls.initDownloadModel(this,"DOWNLOAD");
},
fStartZoek: function(){
var vm = ls.FileFoldersModel;
if (! vm.zoekfile() || vm.zoekfile().length < 2) return;
if (vm.bezig()) return;
vm.bezig(true);
var sd = {zoekfile : vm.zoekfile(),
modulenr : vm.modulenr()}
$.post('index.php/shared/filefolders/zoekFile' , sd, function(result){
vm.zoekresultaat.removeAll();
if (result) {
vm.zoekresultaat(result);
$("#modZoekresultaten").modal('show');
} else {
apprise('Geen bestanden gevonden.');
}
vm.bezig(false);
},'json');
},
fCheckEnter:function(d,e){
var vm = ls.FileFoldersModel;
if (e.keyCode == 13) vm.fStartZoek();
return true;
},
fGetZoekResultaatInFolders: function(){
var vm = ls.FileFoldersModel;
var dit = this;
if (! vm.folders() || vm.folders().length< 1) return;
if (dit.modulenr !== vm.modulenr() ) {
apprise("Dit document bevindt zich in binnen een ander instrument (" +dit.naamkort +"). <br> U dient eerst naar " + dit.naamkort +" te gaan voordat u het document kunt inzien.");
return;
} else {
vm.fGetFolderString( dit.folder_id, vm.folders, '')
}
},
fOpenFolders: function(folders, folderIDstring){
var vm = ls.FileFoldersModel;
if (folders()){
$.each(folders(), function(j,k){
k.geopend(false);
if (folderIDstring.indexOf(k.id) > -1) {
k.geopend(true)
}
if (k.subfolders()){
vm.fOpenFolders(k.subfolders, folderIDstring);
}
}) // foreach
}
$("#modZoekresultaten").modal('hide')
},
fGetFolderString: function(zoekfolderID, folders, folderIDstring){
var vm = ls.FileFoldersModel;
var found = false;
if (folders() ){
$.each(folders(), function(i,p){
if (p.id == zoekfolderID){
if (folderIDstring) folderIDstring= folderIDstring + ',' + p.id
else folderIDstring = p.id
vm.fOpenFolders(vm.folders, folderIDstring);
return false;
} else{
if (p.subfolders && p.subfolders()){
if (folderIDstring) folderIDstring= folderIDstring + ',' + p.id
else folderIDstring = p.id
$.each(p.subfolders(), function(j,k){
if (k.id == zoekfolderID){
folderIDstring = folderIDstring + ',' + zoekfolderID;
vm.fOpenFolders(vm.folders,folderIDstring);
return false;
}else{
folderIDstring = vm.fGetFolderString(zoekfolderID, p.subfolders, folderIDstring);
}
});
}
}
});
}
},
fPrintFolders: function(){
var vm = ls.FileFoldersModel;
window.open("index.php/shared/filefolders/maakpdf/" + vm.modulenr() );
}
} ; // definition van model
ls.FileFoldersModel.initBindings(modulenr);
}; // else
}// function initFileFoldersModel
});
+943
View File
@@ -0,0 +1,943 @@
function startTinyMCE2(callback) {
if ($("#contentSopNew").tinymce()) {
// tinyMCE.activeEditor.setContent('');
// $("#contentSopNew").tinymce().remove();
}
tinymce.init({ selector: "textarea#contentSopNew",
fontsize_formats: "8pt 9pt 10pt 11pt 12pt 26pt 36pt",
fontName: "Verdana",
theme: "modern",
plugins:"advlist ,paste , table, pagebreak, code",
theme_modern_buttons_add: "tablecontrols",
menubar:false,
statusbar:false,
height:554,
width: 700,
table_class_list: [
{title: 'geen', value: ''},
{title: 'zonder rand', value: 'without-border'},
{title: 'met rand', value: 'with-border'}],
table_cell_class_list: [
{title: 'geen', value: ''},
{title: 'zonder rand', value: 'without-border'},
{title: 'met rand', value: 'with-border'}],
table_row_class_list: [
{title: 'geen', value: ''},
{title: 'zonder rand', value: 'without-border'},
{title: 'met rand', value: 'with-border'}],
content_css: "../css/edcontent.css",
browser_spellcheck: true,
paste_data_images:true,
valid_elements: "b,br,em,h1, h2,h3,h4,i,li,ol,a,pagebreak,strong,style,table[style|class|id], tbody,thead,tr,td,th,ul,#p",
extended_valid_elements: "h1[style],h2[style],h3[style],table[style|class|id] ,tr[style|class],td[style|colspan|class],thead[style|class],p[style|class],th[style],div[style|class|id],*[*]",
pagebreak_separator: "<div style='page-break-after:always'></div> ",
paste_auto_cleanup_on_paste: true,
paste_retain_style_properties:"none",
paste_strip_class_attributes:"none",
font_formats:"Default='Verdana', sans-serif;",
toolbar: 'undo redo | fontsizeselect | styleselect | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | table | pagebreak | code',
setup:function(ed){
ed.on('blur',function(e){
// on blur is goed om alle focus verlies van de editor op te
//vangen en wijzigingen op te slaan. Maar hierdoor gaat on click verloren.
// daarom wordt elk click event in de html afgevangen
// met name= savecatched. De functie aangeroepen met
// het click event moet dan zelf de save afvangen.
if (event){
var att = event.target.getAttribute('name')
if (att && att =='savecatched') return false
}
ls.FlexibelSopModel.fSaveChapter();
});
ed.on('init', function(){
ls.FlexibelSopModel.TinymceKlaar(true);
})
}
});
if (typeof callback == 'function') callback();
}
$(function(){
ls.initFlexibelSopModel = function() {
function fAddChapter(p) {
var dit = this;
this.id = p.id;
this.sopinhoudID = p.sopinhoudID;
this.nummer = p.nummer;
this.naam = p.naam;
this.module = p.module;
this.selected = ko.observable(false);
this.volgorde = ko.observable(p.volgorde);
this.standaard = p.standaard;
this.insop = ko.observable(p.insop == 1 ? true : false);
this.orgversieid = ko.observable(p.orgversieid)
}
function fAddProfiel(p) {
this.id = p.profielID;
this.soort = p.soort; // geerf vanuit organisatie
this.naam = ko.observable(p.naam);
this.van = ko.observable(p.van);
this.tm = ko.observable(p.tm);
}
function fAddTabel(t) {
var dit = this;
this.tabelid = t.id;
this.htmlid = t.tabelid;
this.type = t.type;
//ls okt 2020 this.imagecode = t.imagecode;
this.soort = t.soort;
this.css = t.css;
this.view = t.tab;
}
function fAddVersie(p) {
this.orgversieid = ko.observable('');
if(p.id){
this.orgversieid(p.id);
}
if(p.schooljaarnr){
this.orgversieid(p.schooljaarnr);
}
this.naam = p.naam;
this.naamkort = p.naamkort;
this.scoretype = p.scoretype;
this.periodenummer = p.periodenummer;
this.versieid = p.versie_id;
this.insop = p.insop;
this.vorm = p.vorm;
this.geselecteerd = ko.observable(false);
}
function fAddReferentieVersie(r) {
this.orgversieid = ko.observable('');
this.orgversieid(r.orgversieid());
this.naam = r.naam;
this.naamkort = r.naamkort;
this.scoretype = r.scoretype;
this.periodenummer = r.periodenummer;
this.versieid = r.versieid;
this.insop = r.insop;
this.vorm = r.vorm;
this.geselecteerd = ko.observable(false);
}
if (ls.FlexibelSopModel !== undefined) {
ls.FlexibelSopModel.initModel();
} else {
ls.FlexibelSopModel = {
profielen : ko.observableArray([]),
erZijnProfielen : ko.observable(false),
selectedProfiel : ko.observable(),
newnaam : ko.observable(''),
periodetm : ko.observable(''),
periodevan : ko.observable(''),
chapters : ko.observableArray([]),
selectedChapter : ko.observable(),
targetChapter : ko.observable(), // als een nieuw hoofdstuk wordt toegevoegd moetaangepast omdat men eventueel nog kan annuleren
modus : ko.observable(null), // nieuw: voeg nieuw hoofdstuk toe
// ververs: ververs tabellen met dezelfde versies // bekend zijn welk hoofdstuk wordt toegevoegd maar selectedChapter mag niet worden
// wijzig: gebruik nieuwe versies
ls_laatstehfst : ko.pureComputed(function(){
var vm = ls.FlexibelSopModel
var id = null
var vorige= 0
if (vm){
if (vm.chapters()){
$.each(vm.chapters(), function( j,k){
if (k.insop() && parseFloat(k.volgorde()) >= vorige){
id = k.sopinhoudID
vorige = k.volgorde()
}
})
} // if chapters
} // if vm
return id
}),
ls_eerstehfst : ko.pureComputed(function(){
var vm = ls.FlexibelSopModel
var id = null
var eerstevolgnr= 99999999
if (vm){
if (vm.chapters()){
$.each(vm.chapters(), function( j,k){
if (k.insop() && k.module != 0 && parseFloat(k.volgorde()) <= eerstevolgnr){
id = k.sopinhoudID
eerstevolgnr = k.volgorde()
}
})
} // if chapters
} // if vm
return id
}),
schooljanee : ko.observable(false),
editok : ko.observable(false),
versies : ko.observableArray([]),
referentieVersies : ko.observableArray([]),
selectedReferenties: ko.observableArray([]),
selectedVersie : ko.observable(null), // inhoud is een object met versie, orgversie etc
aangeklikt : ko.observable(0),
ijkpunten : ko.observable(false),
erZijnMeerVersies : ko.observable(false),
bezig : ko.observable(false),
TinymceKlaar : ko.observable(false),
initBindings: function () {
var self = ls.FlexibelSopModel;
if (!ko.dataFor(document.getElementById('pagflexibelsop'))) {
ko.applyBindings(ls.FlexibelSopModel, document.getElementById('pagflexibelsop'));
}
$.post('index.php/monpas/sop/getrechten', function (result) {
self.editok(result);
}, 'json');
startTinyMCE2( function(){self.initModel();});
},
initModel: function() {
var self = ls.FlexibelSopModel;
$.post("index.php/monpas/sop/controleerschool/", function(result){
self.schooljanee(result);
if (self.schooljanee()){
$.post("index.php/monpas/sop/ls_getProfielen", function(data){
self.profielen.removeAll();
if(data) {
self.erZijnProfielen(true);
$.each(data, function (i, p) {
self.profielen.push(new fAddProfiel(p));
});//each
self.selectedProfiel(self.profielen()[0])
//self.fGetHoofdstukken() wordt getriggerd in de html
} // if
},'json')
}; //if schooljanee
},'json');
},
fResetSelectedChapter : function(){
var self = ls.FlexibelSopModel
if (! self.selectedChapter()) return;
self.selectedChapter().id = null
self.selectedChapter().sopinhoudID = null
self.selectedChapter().nummer = null;
self.selectedChapter().naam = null
self.selectedChapter().module = null
self.selectedChapter().selected(false);
self.selectedChapter().volgorde( 0);
self.selectedChapter().standaard = null
self.selectedChapter().insop(false);
self.selectedChapter().orgversieid(null)
},
fGetHoofdstukken: function(){
var self = ls.FlexibelSopModel
if (self.bezig() ) return
if (! self.selectedProfiel()) return;
self.bezig(true)
var sd = {profielID : self.selectedProfiel().id}
$.post("index.php/monpas/sop/ls_getHoofdstukken",sd,function(data){
self.chapters.removeAll()
self.selectedVersie(null);
self.fResetSelectedChapter();
if (data){
$.each(data, function(i,p){
self.chapters.push(new fAddChapter(p))
}) // each
$.each(self.chapters(), function(j,k){
if (k.insop()) {
self.selectedChapter(self.chapters()[j]);
// self.versies is toch een functie?
// dit begrijp ik dus niet
$.each(self.versies, function (x, v) {
if(self.selectedChapter().orgversieid() === v.orgversieid )
self.selectedVersie(v);
});
return false
}
}) // each chapters
if (self.selectedChapter()) self.fGetContent();
// else self.fGetInleiding()
}
},'json').always(function(){self.bezig(false)})
},
fGetContent: function(){
var self = ls.FlexibelSopModel
if (! self.selectedChapter()) return
if (! self.selectedProfiel()) return
var sd = { inhoudID : self.selectedChapter().sopinhoudID}
showAjaxLoader()
$.post("index.php/monpas/sop/ls_getHoofdstukContent",sd,function(data){
if ( ! data) self.fSetEditorContent('')
else self.fSetEditorContent(data)
},'json').always(function(){hideAjaxLoader()})
},
fSetEditorContent: function( content){
var self = ls.FlexibelSopModel;
if (content) tinymce.get('contentSopNew').setContent(content,{format: 'html'});
else tinymce.get('contentSopNew').setContent('');
if (! self.TinymceKlaar() ) {
setTimeout(function() {self.fSetEditorContent(content)},500)
} // if not klaar
tinymce.activeEditor.isNotDirty = true
},
fSaveChapter: function(){
var self =ls.FlexibelSopModel;
if (!self.editok()) return;
if (! self.selectedChapter() || self.selectedChapter() == null) return;
if ( tinymce.activeEditor.isNotDirty) return;
var orgversie = 0;
if(self.selectedChapter().orgversieid()) {
orgversie = self.selectedChapter().orgversieid();
}
var tekst = tinymce.get('contentSopNew').getContent({format: 'html'});
var submitData ={ id : self.selectedChapter().sopinhoudID,
tekst : tekst,
orgversie : orgversie};
// showAjaxLoader();
$.post("index.php/monpas/sop/saveinhoud", submitData)
.always(function(){
// hideAjaxLoader()
})
.success(function(){tinymce.activeEditor.isNotDirty = true})
},
fVerversTabellen : function(){
var self =ls.FlexibelSopModel;
self.fSaveChapter();
if (!self.selectedProfiel()) return;
if (!self.selectedChapter()) {
apprise("U heeft geen hoofdstuk geselecteerd");
return;
}
if(self.selectedChapter().id === '49' ||
self.selectedChapter().id === '56' ||
self.selectedChapter().id === '57' ){
apprise("Bij dit hoofdstuk horen geen tabellen uit een instrument" );
return;
}
apprise( "Weet u zeker dat u de tabellen wilt updaten? <br>" +
"Eventuele nieuw ingevulde en aangepaste lijsten worden in de resultaten meegenomen. <br>" +
"Dit kan niet ongedaan gemaakt worden.",
{verify:true, textYes: ' ja ', textNo:'nee'}, function(ans){
if(ans) {
self.modus('ververs');
self.fGoEnVerversTabellen();
}
}); // apprise
},
fGoEnVerversTabellen: function(){
var self = ls.FlexibelSopModel;
if (! self.selectedProfiel()) return;
if (! self.selectedChapter()) {
apprise("U heeft geen hoofdstuk geselecteeerd.");
return;
}
var submitData ={ sopinhoudid : self.selectedChapter().sopinhoudID }
showAjaxLoader();
$.post("index.php/monpas/sop/ls_renewTabellen", submitData, function(result) {
if (result.error) apprise(result.error);
else self.fSetEditorContent(result.nieuweinhoud)
}, 'json').always(function(){ hideAjaxLoader() } );
},
fGetNieuweTabellen(){
var self = ls.FlexibelSopModel;
if (! self.selectedProfiel()) return;
if (! self.selectedChapter()) {
apprise("U heeft geen hoofdstuk geselecteeerd.");
return;
}
//ook meesturen referentieversie
var referenties = []
if(self.ijkpunten()) {
if (self.selectedReferenties()) {
$.each(self.selectedReferenties(), function (i, r){
referenties.push(r.orgversieid())
})
}
}
var submitData ={ sopinhoudid : self.selectedChapter().sopinhoudID,
orgversieID : self.selectedVersie().orgversieid(),
referenties : referenties}
showAjaxLoader();
$.post("index.php/monpas/sop/ls_nieuweTabellen", submitData, function(result) {
if (result.error) {
apprise(result.error);
} else {
// waarom onderstaande. orgversieid verandert toch niet bij ververs tabellen?
// hm kan wel veranderen want wordt ook aangeroepen bij
// verander versie
// daar kan ik beter een andere functie gebruiken
self.selectedChapter().orgversieid(result.orgversieid);
// self.selectedVersie(result.orgversieid);
self.fSetEditorContent(result.nieuweinhoud)
}
}, 'json').always(function(){ hideAjaxLoader() } );
},
fVerversHoofdstuk : function(){
var self = ls.FlexibelSopModel;
if (! self.TinymceKlaar() ) return
if (! self.selectedProfiel()) return
if (! self.selectedChapter() ){
apprise("U heeft geen hoofdstuk geselecteerd");
return;
}
apprise("Weet u zeker dat u het hoofdstuk opnieuw wilt laten maken? <br> " +
"Alle wijzigingen die u heeft aangebracht gaan daarmee verloren.",
{verify: true, textYes: ' ja ', textNo: 'nee'}, function(ans){
if (ans){
showAjaxLoader();
var submitData ={ inhoudID : self.selectedChapter().sopinhoudID}
$.post('index.php/monpas/sop/ls_renewChapter/', submitData, function(result){
if (result.error) apprise(result.error)
else self.fSetEditorContent( result.nieuweinhoud);
},'json')
.always(function(){hideAjaxLoader() } );
} // if ans
else {self.fSaveChapter() }
}); // apprise
},
// ********** nieuw hoofdstuk toevoegen ***********//
// 1. save het oude hoofdstuk
// 2. set het nieuwe hoofdstuk in de tijdelijke variabele targethoofdstuk
// 3. haal de versies bij het nieuwe hoofdstuk op
// 4. toon de versies in de modal
// 5. set selected Versie en sluit de modal
// 6. maak het nieuwe hoofdstuk en zet de versie
fCheckIngevuldeVersies : function(){
var self = ls.FlexibelSopModel;
if ( ! self.TinymceKlaar()) return
if ( ! self.editok()) return;
if ( ! self.selectedProfiel()) {
apprise("Er is nog geen SOP gemaakt.");
return;
}
self.ijkpunten(false);
self.erZijnMeerVersies(false);
self.fSaveChapter();
self.modus('nieuw');
var hoofdstuk = this;
if(hoofdstuk.id === '56' || hoofdstuk.id === '57' ){
self.fNewHoofdstuk(hoofdstuk);
return;
}
var submitData = { "chapterid" : hoofdstuk.id,
"profielid" : self.selectedProfiel().id};
// showAjaxLoader()
$.post("index.php/monpas/sop/checkLijsten", submitData, function(result){
if (result) {
if (result.ingevuld === 'F'){
if (hoofdstuk.id !== '50' && hoofdstuk.id !=='53' && hoofdstuk.id !== '80' && result.standaarden !== 'F') {
hideAjaxLoader();
apprise("Om dit hoofdstuk te kunnen toevoegen aan het sop <br>" +
"moet eerst een lijst bij dit instrument worden ingevuld. ");
return;
}
if (hoofdstuk.id !== '50' && hoofdstuk.id !=='53' && hoofdstuk.id !== '80' && result.standaarden === 'F') {
hideAjaxLoader();
apprise("Om dit hoofdstuk te kunnen toevoegen aan het sop <br>" +
"moet eerst een lijst bij dit instrument worden ingevuld en/of <br>" +
"de standaarden moeten nog worden toegevoegd. <br>" +
"Neem voor dit laatste contact op met de helpdesk");
return;
}
if(hoofdstuk.id === '50' || hoofdstuk.id ==='53' || hoofdstuk.id === '80' ){
hideAjaxLoader();
apprise("Om dit hoofdstuk te kunnen toevoegen aan het sop <br>" +
"moeten eerst gegevens over de ondersteuning in <br>" +
"de verschillende groepen worden ingevuld bij dit instrument. ");
return;
}
} // if ingevuld = F
if(result.ingevuld === 'T') {
if(result.filledversies.length > 1){
self.ijkpunten(result.metijkpunten =="T");
self.versies.removeAll();
self.fVulVersies(result.filledversies, true, function(){self.fOpenModel()});
self.targetChapter(hoofdstuk); //hier is de hulpvariabel targetChapter nodig omdat de popup er tussendoor komt
} // if length > 1
if(result.filledversies.length === 1){
self.versies.removeAll();
var geenCallback = "";
self.fVulVersies(result.filledversies, true, geenCallback)
self.fNewHoofdstuk(hoofdstuk);
}
}
} // if result
}, 'json')
},
fOpenModel(){
var self = ls.FlexibelSopModel;
$("#modKiesFilledVersie").modal('show');
return true;
},
fVulVersies : function(versieSet, setVersie, callback){
var self = ls.FlexibelSopModel;
self.versies.removeAll();
self.erZijnMeerVersies(false);
$.each(versieSet, function (j, versie) {
self.versies.push(new fAddVersie(versie));
if (versie.orgversieid == self.selectedChapter().orgversieid())
self.selectedVersie(versie);
}) // each
if (setVersie) self.selectedVersie(self.versies()[0]);
self.referentieVersies.removeAll();
if(self.ijkpunten()){
self.fGetVergelijkbareVersies();
}
if(typeof callback ==='function' && callback()){
callback();
}
},
fSetSelectedVersie:function(){
var self = ls.FlexibelSopModel;
self.selectedVersie(this);
self.erZijnMeerVersies(false);
self.referentieVersies.removeAll();
if(self.ijkpunten()){
self.fGetVergelijkbareVersies();
}
},
fGetVergelijkbareVersies: function(){
var self = ls.FlexibelSopModel;
self.selectedReferenties.removeAll();
if (! self.selectedVersie()) self.selectedVersie(self.versies()[0]);
$.each(self.versies(), function(i,p){
if(p.versieid === self.selectedVersie().versieid &&
p.scoretype === self.selectedVersie().scoretype &&
p.orgversieid() !== self.selectedVersie().orgversieid() &&
p.periodenummer < self.selectedVersie().periodenummer){
self.referentieVersies.push(new fAddReferentieVersie(p));
self.erZijnMeerVersies(true);
}
});
},
fSelecteerReferentie: function(){
var self = ls.FlexibelSopModel;
this.geselecteerd(! this.geselecteerd());
var dit = this;
if(!dit.geselecteerd()){
var delIndex = "";
if(self.selectedReferenties()){
$.each(self.selectedReferenties(), function(i, r){
if(r.orgversieid() === dit.orgversieid()){
delIndex = i;
}
});
self.selectedReferenties().splice(delIndex, 1);
}
}
if(dit.geselecteerd() && self.selectedReferenties().length === '3'){
dit.geselecteerd(false);
apprise("u kunt maximaal 3 lijsten vergelijken");
}
if(dit.geselecteerd() && self.selectedReferenties().length < '3' ){
self.selectedReferenties().push(dit);
}
return true;
},
fSetFilledVersie: function(){
var self = ls.FlexibelSopModel;
$("#modKiesFilledVersie").modal('hide');
if (self.selectedVersie()) {
// targetChapter wordt gezet in fCheckIngevuldeVersie
// selectedChapter wordt gezet in fNewHoofdstuk
switch (self.modus()) {
case 'nieuw' :self.fNewHoofdstuk(self.targetChapter());
break;
case "ververs": // hier komt ie niet
// want wordt apart aangeroepen
break;
case "wijzig" : self.fGetNieuweTabellen();
break;
} // einde switch
} // if selectedVersie
else {
// uit de modal zonder een versie te selecteren
// dat kan eigenlijk niet maar toch controleren
//self.selectedVersie().orgversieid(self.selectedChapter().orgversieid);
self.selectedVersie(null)
self.modus(null)
}
},
fCloseModalFilledVersie: function(){
var self = ls.FlexibelSopModel;
// de modal wordt gesloten zonder een versie te kiezen
// selected versie moet dan weer teruggezet worden op null
// in het geselecteerde hoofdstuk wordt orgversieid bewaard
// eigenlijk kan je dit met 1 modal afhandelen
self.selectedVersie(null)
$("#modKiesFilledVersie").modal('hide')
$("#modkiesversie").modal('hide')
},
fNewHoofdstuk: function(hoofdstuk){
// geef het toe te voegen hoofstuk mee
// hier kun je immers nog bepalen dat het hoofdstuk niet
//toegevoegd wordt
//dus je kunt selectedChapter pas zetten als deze functie goed gaat
var self =ls.FlexibelSopModel;
if ( ! self.editok()) return;
var versieid = "";
var referenties = [];
if (self.selectedVersie() && hoofdstuk.naam !== 'Inleiding' && hoofdstuk.id !== 56 && hoofdstuk.id !== 57) versieid = self.selectedVersie().orgversieid();
if(self.ijkpunten()) {
if (self.selectedReferenties()) {
$.each(self.selectedReferenties(), function (i, r){
referenties.push(r.orgversieid())
})
}
}
var submitData ={"chapterid" : hoofdstuk.id,
"profielid" : self.selectedProfiel().id,
"versie" : versieid,
"referenties" : referenties};
showAjaxLoader();
$.post("index.php/monpas/sop/ls_newChapter", submitData, function(result){
if (result.error){
apprise(result.error);
return;}
else {
self.selectedChapter(hoofdstuk);
self.selectedChapter().insop(true);
self.selectedChapter().sopinhoudID = result.nieuweinhoud.id;
self.selectedChapter().volgorde ( result.nieuweinhoud.volgorde);
self.selectedChapter().orgversieid(result.nieuweinhoud.orgversieid);
$.each(self.versies, function (x, v) {
if(self.selectedChapter().orgversieid() === v.orgversieid )
self.selectedVersie(v);
});
self.fSetEditorContent( result.nieuweinhoud.content)
} // if result
}, 'json').always(function(){ hideAjaxLoader() } );
},
// ************ einde toevoegen nieuw hoofdstuk ****************
// ************** wijzigen van de versie van een hoofdstuk ***********
// 1. save het oude hoofdstuk
// 2. haal de versies bij het hoofdstuk op
// 3. indien nodig : toon de versies in de modal
// 4. set selected Versie en sluit de modal
// 5. maak het hoofdstuk en zet de versie
fWijzigVersie: function(){
var self = ls.FlexibelSopModel;
if ( ! self.selectedChapter() ) return;
self.fSaveChapter();
var submitData ={ "chapterid" : self.selectedChapter().id,
"profielid" : self.selectedProfiel().id}
$.post("index.php/monpas/sop/checkLijsten", submitData, function(result){
if (result.orgversieid <= 0){
apprise("Dit hoofstuk gebruikt geen versies.");
return;
}
// dit gaat niet goed als men ondertussen de huidige versie heeft
// uitgeschakeld en er maar 1 andere versie is
// vandaar <= 1 gewijzigd naar < 1
if ( ( result &&
result.filledversies.length == 1 &&
result.filledversies[0].id == self.selectedChapter().orgversieid()) ||
(! result || result.filledversies.length < 1) ) {
apprise("Geen (andere) versies gevonden.")
return
}
apprise("Weet u zeker dat u andere versies wilt gebruiken? De huidige tabellen worden dan overschreven.",
{verify:true, textYes: 'ja, doorgaan', textNo: 'nee, annuleren'},
function(ans){
self.modus("wijzig");
self.ijkpunten(result.metijkpunten =="T")
if (ans) self.fVulVersies(result.filledversies, false, function(){$("#modKiesFilledVersie").modal('show')});
})// apprise
}, 'json')
},
// fSelecteerVersie: function(){
// var self = ls.FlexibelSopModel
// // aangeroepen in modal modkiesversie
// $("#modkiesversie").modal('hide');
// if (confirm("Weet u zeker dat u nieuwe versies wilt gebruiken? De huidige tabellen worden dan overschreven."))
// $("#modKiesFilledVersie").modal('show');
// self.fGetNieuweTabellen();
// },
// ************ einde maak hoofdstuk met nieuwe versie **************
fGetChapter: function(){
var self = ls.FlexibelSopModel;
self.fSaveChapter()
if ( ! self.selectedProfiel()) {
apprise("Er is geen SOP geselecteerd.");
return;
}
var dit = this;
if (self.selectedChapter() && dit.id === self.selectedChapter().id) return; //hoofdstuk is al geselecteerd
self.selectedChapter(dit);
self.fGetContent();
},
fNieuwProfiel: function(){
var self =ls.FlexibelSopModel;
self.fSaveChapter()
self.newnaam('');
self.periodevan('');
self.periodetm('');
$("#modNieuwProfielSop").modal('show');
},
fSaveProfiel: function(){
var self =ls.FlexibelSopModel;
var submitData ={ naam : self.newnaam(),
van : self.periodevan(),
tm : self.periodetm()}
self.chapters.removeAll();
$.post("index.php/monpas/sop/maaknewprofiel", submitData, function(result){
if (result){
self.profielen.push(new fAddProfiel(result));
self.selectedProfiel(self.profielen()[self.profielen().length-1 ] );
self.erZijnProfielen(true);
self.chapters.removeAll();
self.fGetHoofdstukken();
// wordt getriggerd in de html
}
},'json');
$("#modNieuwProfielSop").modal('hide');
},
fDeleteProfiel :function(){
var self =ls.FlexibelSopModel;
apprise("Weet u zeker dat u " + self.selectedProfiel().naam() + " wilt verwijderen?<br> U kunt dit niet ongedaan maken!",
{verify:true, textYes:' ja ', textNo:"nee"}, function(ans){
if (ans){
$.post("index.php/monpas/sop/deleteprofiel/" + self.selectedProfiel().id, function(){
self.profielen.remove(self.selectedProfiel());
if(self.profielen.length === 0){
self.erZijnProfielen(false);
}
self.chapters.removeAll();
if (self.profielen().length>0){
self.selectedProfiel(self.profielen()[0]);
self.fGetHoofdstukken()
}
else{
tinyMCE.activeEditor.setContent('');
$.each(self.chapters(), function(i,p){
p.selected(false);
});
self.selectedChapter(null);
}
});
} // if ans
else {self.fSaveChapter()}
});//apprise
},
fEditProfiel:function(){
var self = ls.FlexibelSopModel;
if (!self.selectedProfiel()) return;
self.fSaveChapter()
$("#modChangeProfielSop").modal('show');
},
fUpdateProfiel: function(){
var self = ls.FlexibelSopModel;
var submitData = { id : self.selectedProfiel().id,
naam : self.selectedProfiel().naam(),
van : self.selectedProfiel().van(),
tm : self.selectedProfiel().tm()}
$.post('index.php/monpas/sop/updateprofiel', submitData, function(){
$("#modChangeProfielSop").modal('hide');
},'json');
},
fMaakPdf :function(){
var self = ls.FlexibelSopModel;
if (!self.selectedProfiel()) return;
self.fSaveChapter()
var data={profielid : self.selectedProfiel().id};
showAjaxLoader();
var submitUrl = "index.php/monpas/sop/maakpdfSopNieuw/?json=" +JSON.stringify(data);
hideAjaxLoader();
window.open(submitUrl);
},
fMaakWord: function(){
var self = ls.FlexibelSopModel;
if (!self.selectedProfiel()) return;
self.fSaveChapter()
showAjaxLoader();
var sURL="index.php/monpas/sop/maakwordSopNieuw/" + self.selectedProfiel().id ;
hideAjaxLoader();
window.open(sURL);
},
fHoofdstukOmhoog: function(){
var self = ls.FlexibelSopModel;
var dit = this;
if (self.bezig()) return
self.fSaveChapter()
self.bezig(true)
showAjaxLoader();
var richting = 'omhoog';
var submitData={
"sopid" : self.selectedProfiel().id,
"sopinhoudid" : dit.sopinhoudID,
"richting" : richting,
}
$.post("index.php/monpas/sop/verplaatsHoofdstuk", submitData, function(result) {
if (result) {
$.each(self.chapters(), function(i,p){
$.each(result, function(x,y){
if (y.sopinhoudID == p.sopinhoudID) p.volgorde( y.volgorde)
}) // each result
}) // each chapters
self.chapters.sort(function(a,b) {
return a.volgorde() - b.volgorde()
});
} // if result
}, 'json').always(function(){self.bezig(false)
hideAjaxLoader()})
},
fHoofdstukOmlaag: function(){
var self = ls.FlexibelSopModel;
var dit = this;
if (self.bezig()) return
self.fSaveChapter()
self.bezig(true)
var submitData={
"sopid" : self.selectedProfiel().id,
"sopinhoudid" : dit.sopinhoudID,
"richting" : 'omlaag'
};
$.post("index.php/monpas/sop/verplaatshoofdstuk", submitData, function(result) {
if (result) {
$.each(self.chapters(), function(i,p){
$.each(result, function(x,y){
if (y.sopinhoudID == p.sopinhoudID) p.volgorde( y.volgorde)
}) // each result
}) // each chapters
self.chapters.sort(function(a,b) {
return a.volgorde() - b.volgorde()
});
}
}, 'json').always(function(){self.bezig(false)})
},
fDeleteChapter: function(){ // gebruikt
var self =ls.FlexibelSopModel;
var dit = this;
if ( ! dit.sopinhoudID) return;
self.fSaveChapter() // doe dit altijd want het geselecteerd en eventueel gewijzigde chapter hoeft niet gelijk te zijn aan het chapter
// dat weggegooid wordt
apprise("Weet u zeker dat u het hoofdstuk " + dit.naam + " wilt verwijderen? ", {verify:true, textYes:' ja ', textNo: 'nee'}, function(ans){
if (ans){
var submitData ={"tekstid" : dit.sopinhoudID }
$.post("index.php/monpas/sop/deletechapter", submitData, function(result){
if (result ) {
dit.insop(false)
dit.volgorde(0)
if ( dit == self.selectedChapter()) { //verversen hoeft alleen als het weggegooide hoofdstuk het geselecteerde hoofdstuk is
self.selectedChapter(self.chapters()[0] );
self.fGetContent();
} // if dit == selectedChapter
}
},'json');
} // if ans
}); // apprise
}
// functies nodig voor wijzig versie
}; // definition van model
ls.FlexibelSopModel.initBindings();
}; // else
}// function initFlexibelSopModel
});
+157
View File
@@ -0,0 +1,157 @@
$(function(){
ls.initFunctiesModel = function(){
function fAddFunctiemenu(p){
this.id = p.id
this.naam = p.naam;
this.paginanaam = p.paginanaam;
}
function fAddModule(m){
var dit = this;
this.id = m.id;
this.sysnr = m.sysnr;
this.naam = m.naam;
this.naamkort = m.naamkort;
}
function fAddFunctie(m) {
this.functieid = m.functie_id;
this.functienaam = m.naam;
this.functiekort = m.kort;
this.doelgroep = ko.observable(m.doelgroep);
this.gekoppeld = ko.observable(false);
if (m.doelgroep == 'T') {
this.gekoppeld(true);
}
}
if (ls.FunctiesModel !== undefined) {
ls.FunctiesModel.initModel();
}
else {
ls.FunctiesModel = {
selectedMenu : ko.observable(),
functiemenu : ko.observableArray([]),
functies : ko.observableArray([]),
modules : ko.observableArray([]),
modulefuncties : ko.observableArray([]),
selectedModule : ko.observable(''),
selectedFunctie : ko.observable(''),
bezig : ko.observable(false),
// gekoppeld : ko.observable(false),
initBindings :function(){
var self = ls.FunctiesModel;
$.post('index.php/shared/menu/getsubmenu/137', function(result){
if (result){
$.each(result, function(i,p){
self.functiemenu.push(new fAddFunctiemenu(p));
})
}
ko.applyBindings(ls.FunctiesModel, document.getElementById("pagBindFuncties"));
self.initModel();
},'json');
},
initModel: function(){
var self = ls.FunctiesModel;
self.selectedMenu(self.functiemenu()[0]);
self.fGetModules();
},
fGetModules: function(){
var self = ls.FunctiesModel;
$.post("index.php/shared/functies/getModules", function(result){
self.modules.removeAll();
if (result){
$.each(result, function(i,p){
self.modules.push(new fAddModule(p));
}); // each
if(self.modules) {
self.selectedModule(self.modules[0]);
var selectedid = self.selectedModule()
$.post("index.php/shared/functies/getFuncties/" + selectedid, function(functies){
self.modulefuncties.removeAll();
if(functies){
$.each(functies,function(i,f){
self.modulefuncties.push(new fAddFunctie(f));
})
}
}, 'json');
}
}; // if result
},'json');
},
fGetFunctiesBijModule: function(){
var self = ls.FunctiesModel;
$.post("index.php/shared/functies/getFuncties/" + self.selectedModule(), function(functies){
self.modulefuncties.removeAll();
if(functies){
$.each(functies,function(i,f){
self.modulefuncties.push(new fAddFunctie(f));
})
}
}, 'json');
},
fKoppel: function(){
var self = ls.FunctiesModel;
var dit = this;
if(self.bezig()){
return
}
var moduleid = self.selectedModule();
var submitData = {
'moduleid' : moduleid,
'functieid' : dit.functieid }
self.bezig(true);
$.post("index.php/shared/functies/newModuleFunctieKoppeling", submitData, function(functies){
self.bezig(false);
dit.gekoppeld(!dit.gekoppeld());
}, 'json');
},
fOntkoppel: function(){
var self = ls.FunctiesModel;
var dit = this;
if(self.bezig()){
return
}
var submitData = {
'moduleid' : self.selectedModule(),
'functieid' : dit.functieid }
self.bezig(true);
$.post("index.php/shared/functies/deleteModuleFunctieKoppeling", submitData, function(functies){
self.bezig(false);
dit.gekoppeld(!dit.gekoppeld());
}, 'json');
},
fGetBolletjesMonPon: function(){
var self = ls.FunctiesModel;
var dit = this;
var filledversionid = 2514;
$.post("index.php/shared/portal/getBollenMonPon", function(bolletjes){
}, 'json');
// $.post("index.php/shared/portal/getAgendaMonPon/" + filledversionid, function(items){
// }, 'json');
},
} ; // definition van model
ls.FunctiesModel.initBindings();
}; // else
}// function initFunctiesModel
});
+368
View File
@@ -0,0 +1,368 @@
$(function(){
ls.initGebruikersModel = function(){
function fAddOrgs(p){
var dit =this;
this.id = p.id;
this.naam = p.naam
this.geopend = ko.observable(false);
this.orgs1 = ko.observableArray([]);
if (p.orgs){
$.each(p.orgs, function(j,k){
dit.orgs1.push(new fAddOrgs1(k));
})
}
}
function fAddOrgs1(p){
var dit =this;
this.id = p.id;
this.naam = p.naam
this.geopend = ko.observable(false);
this.orgs2 = ko.observableArray([]);
if (p.orgs){
$.each(p.orgs, function(j,k){
dit.orgs2.push(new fAddOrgs2(k));
})
}
}
function fAddOrgs2(p){
var dit =this;
this.id = p.id;
this.naam = p.naam
this.geopend = ko.observable(false);
this.orgs3 = ko.observableArray([]);
if (p.orgs){
$.each(p.orgs, function(j,k){
dit.orgs3.push(new fAddOrgs3(k));
})
}
}
function fAddOrgs3(p){
var dit =this;
this.id = p.id;
this.naam = p.naam
this.brin = p.brin
}
function fAddGebruiker(p){
this.userid = p ? p.userid : null;
this.actief = ko.observable(p.OUactief );
this.voornaam = ko.observable(p.voornaam );
this.tussenvoegsel = ko.observable(p.tussenvoegsel);
this.achternaam = ko.observable(p.achternaam );
this.email = ko.observable(p.email ) ;
if (p.gnaam){
this.gnaam = ko.observable(p.gnaam);
}
else{
this.gnaam = ko.observable('');
}
this.autorisatienivoid = ko.observable(p.nivo_id );
this.autorisatienaam = ko.observable(p.autorisatienaam );
this.deleteOK = ko.observable(true); // wordt nu nog niets meegedaan
};
function fMaakEmptyUser(){
this.userid = 0;
this.actief = ko.observable(1);
this.voornaam = ko.observable('');
this.tussenvoegsel = ko.observable('');
this.achternaam = ko.observable('');
this.email = ko.observable('') ;
this.gnaam = ko.observable('');
this.autorisatienivoid = ko.observable(0);
this.autorisatienaam = ko.observable('');
this.deleteOK = ko.observable(true);
}
function fAddFunctieNewUser(p){
var dit = this;
this.id = p.id//functieid
this.functienaam = p.functienaam;
this.gekoppeld = 'F';
this.isFunctie = ko.observable(false);
}
function fAddAutorisatie(p){
this.id = p.id; // is autorisatienivo id
this.naam = p.naam
}
function fAddOtherUser(p){
this.id = p.id ; //userid
this.fullname = p.fullname;
this.autorisatienivoid = ko.observable(10);
}
if (ls.GebruikersModel !== undefined){
ls.GebruikersModel.initModel();
}
else {
ls.GebruikersModel = {
orgs : ko.observable(''),
selectedOrg : ko.observable(),
gebruikers : ko.observableArray([]),
toonactief : ko.observable('1'),
selectedUser : ko.observable(),
selectedUserOld : ko.observable(), // een kopie van de geselecteerde user
copyUser : ko.observable(),
otherUsers : ko.observableArray([]),
functies :ko.observableArray([]),
zoekstring : ko.observable(''),
titel : ko.observable({title: ko.observable(), status: ko.observable()} ),
autorisatieopties : ko.observableArray([]),
focusop : ko.observable(1), //werkt weer eens niet
bezig : ko.observable(false),
initBindings :function(){
var self = ls.GebruikersModel;
if (!ko.dataFor(document.getElementById('pagGebruikersxx')) ) {
ko.applyBindings(ls.GebruikersModel, document.getElementById("pagGebruikersxx"));
}
self.initModel();
},
initModel: function(){
var self=ls.GebruikersModel;
self.gebruikers.removeAll();
$.post("index.php/shared/users/getorgs", function(orgs){
self.orgs('');
if (orgs){
self.orgs(new fAddOrgs(orgs));
self.selectedOrg(self.orgs());
self.fGetGebruikers();
}
self.autorisatieopties.removeAll()
$.post("index.php/shared/autorisatienivos/getautorisaties", function(data){
if (data){
$.each(data, function(i,p){
self.autorisatieopties.push(new fAddAutorisatie(p));
});
}
},'json');
},'json'); // getorgs
},
filteruser: function(others, filternaam){
return others().filter(function(user){
return ( filternaam() == ''||
(user.fullname).toUpperCase() == (filternaam()).toUpperCase() ||
(user.fullname).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1
);
});
},
fGetGebruikers: function(){
var self = ls.GebruikersModel;
self.gebruikers.removeAll();
if (self.selectedOrg() != undefined){
$.post("index.php/shared/users/getorggebruikers/" + self.selectedOrg().id, function(data){
if (data){
$.each(data, function(i,p){
self.gebruikers.push(new fAddGebruiker(p));
});
}
},'json'); //getorggebruikers
};
},
fPopNew: function(){
var self=ls.GebruikersModel;
self.selectedUser(new fMaakEmptyUser());
// hier ipv 0 het laagst mogelijke recht?
self.selectedUser().autorisatienivoid(self.autorisatieopties()[0].id);
self.titel().title("Nieuwe gebruiker");
self.titel().status(1);
self.focusop(1);
$("#modEditUser").modal("show");
},
fPopEdit: function(){
var self=ls.GebruikersModel;
self.selectedUser(new fMaakEmptyUser())
self.selectedUserOld(this);
self.selectedUser().userid=this.userid;
self.selectedUser().gnaam(this.gnaam());
self.selectedUser().voornaam(this.voornaam());
self.selectedUser().tussenvoegsel(this.tussenvoegsel());
self.selectedUser().achternaam(this.achternaam());
self.selectedUser().email(this.email());
self.selectedUser().autorisatienivoid(this.autorisatienivoid());
self.titel().title("Wijzig gebruikergegevens");
self.titel().status(2);
if (self.selectedUser().gnaam() == "" ) self.titel().status(3);
self.focusop(1);
$("#modEditUser").modal("show");
},
fDelete: function(){
var self=ls.GebruikersModel;
var that = this;
apprise("Weet u zeker dat u deze gebruiker wilt verwijderen? " , {verify:true, textYes:'ja', textNo:'nee'},function(ans){
if (ans) {
$.post("index.php/shared/users/deleteuser/" + that.userid+ '/'+self.selectedOrg().id, function(result){
if (result){
if (result.ok) {
if (!result.user){
self.gebruikers.remove(that);
}
else{
that.actief(result.user.OUactief);
that.autorisatienaam(result.user.autorisatienaam);
that.autorisatienivoid(result.user.nivo_id);
}
}
if (result.errortekst){
apprise(result.errortekst);
}
}
},'json');
}; // if ans
});
},
fSaveActiefStatus: function(){
var self=ls.GebruikersModel;
var that = this;
var status = 1;
if (this.actief() == 1){status = 0 }
var submitData ={userid : this.userid,
status : status}
$.post('index.php/shared/users/savestatus', submitData,function(){
that.actief(status);
});
return true;
},
fSaveUser: function(){
var self =ls.GebruikersModel;
var errortekst = '';
if (self.bezig() ) return;
self.bezig(true);
var submitData = {orgid : self.selectedOrg().id,
id : self.selectedUser().userid,
voornaam : self.selectedUser().voornaam(),
tussenvoegsel : self.selectedUser().tussenvoegsel(),
achternaam : self.selectedUser().achternaam(),
email : self.selectedUser().email(),
gnaam : self.selectedUser().gnaam(),
autorisatienivoid : self.selectedUser().autorisatienivoid(),
status : self.titel().status()} ;
// controleer e-mail
if (!checkEmail(self.selectedUser().email()) ){
apprise("Het e-mailadres is niet correct.");
self.focusop(1);
self.bezig(false);
return;
}
else {
if (self.titel().status()==1){
$.post("index.php/shared/users/adduser", submitData,function(result){
if (result && result.ok){
self.gebruikers.push(new fAddGebruiker(result.user));
self.gebruikers.sort(function(left,right){
lft = left.achternaam().toUpperCase();
rght = right.achternaam().toUpperCase();
return lft == rght ? 0 : (lft < rght ? -1 : 1)
});
self.bezig(false);
$("#modEditUser").modal("hide");
}
else {
apprise(result.errortekst);
self.bezig(false);
self.focusop(1);
}
self.bezig(false);
},'json');
}
else { // status = 2 dus update
$.post("index.php/shared/users/updateuser2",submitData,function(result){
if (result) {
// hier nog alle waarden (terug)zetten.
self.selectedUserOld().actief(result.user.OUactief);
self.selectedUserOld().voornaam(result.user.voornaam);
self.selectedUserOld().tussenvoegsel(result.user.tussenvoegsel);
self.selectedUserOld().achternaam(result.user.achternaam);
self.selectedUserOld().email(result.user.email);
self.selectedUserOld().gnaam(result.user.gnaam);
self.selectedUserOld().autorisatienivoid(result.user.nivo_id);
self.selectedUserOld().autorisatienaam(result.user.autorisatienaam);
self.focusop(1);
self.gebruikers.sort(function(left,right){
lft = left.achternaam().toUpperCase();
rght = right.achternaam().toUpperCase();
return lft == rght ? 0 : (lft < rght ? -1 : 1)
});
if (!result.ok){ apprise(result.errortekst);}
else{
ls.MsgAutoFade(1000,"Gebruikergegevens zijn opgeslagen");
self.selectedUserOld().autorisatienaam(result.user.autorisatienaam);
// ALS DE GEWIJZIGDE GEGEVENS VAN DE HUIDIGE GEBRUIKER ZIJN MOET DE FULLNAME ONDER HET MENU
// WORDEN AANGEPAST
if (result.fullname.length > 0){
ls.MenuModel.user(result.fullname);
}
self.bezig(false);
$("#modEditUser").modal("hide");
}
}
self.bezig(false);
},'json');
}
}
},
fSendNewWW: function(){
var self = ls.GebruikersModel;
$.post("index.php/shared/users/sendnewww/" + self.selectedUser().userid, function(result){
if (result) {
apprise("Er is een e-mail verstuurd naar " +self.selectedUser().email() + " met daarin het nieuwe wachtwoord.");
}
},'json');
},
fToggleGeopend : function(){
this.geopend(!this.geopend());
},
fSetSelected : function(){
var self = ls.GebruikersModel;
if (self.selectedOrg() && self.selectedOrg().id == this.id) return;
self.selectedOrg(this);
self.fGetGebruikers();
},
fPopCopy : function(){
var self= ls.GebruikersModel;
$.post("index.php/shared/users/getotherusers/" + self.selectedOrg().id, function(data){
self.otherUsers.removeAll();
if (data){
$.each(data, function(i,p){
self.otherUsers.push(new fAddOtherUser(p));
}); // each
}
},'json');
$("#modCopyUser").modal('show');
},
fSaveCopyUser :function(){
var self= ls.GebruikersModel;
var submitData={ userid : self.copyUser().id,
orgid : self.selectedOrg().id,
autorisatie : self.copyUser().autorisatienivoid()}
$.post("index.php/shared/users/savecopyuser", submitData,function(result){
if (result){
self.gebruikers.push(new fAddGebruiker(result));
}
$("#modCopyUser").modal("hide");
},'json');
}
} ; // definition van model
ls.GebruikersModel.initBindings();
}; // else
}// function initGebruikersModel
});
+72
View File
@@ -0,0 +1,72 @@
$(function(){
ls.initHomeModel = function(){
if (ls.HomeModel !== undefined){
ls.HomeModel.initModel();
}
else {
ls.HomeModel = {
orgnivo : ko.observable(1),
welkomtekst : ko.observable(''),
modulenr : ko.observable(0),
foto : ko.observable("kids.png"),
hometekst : ko.observable('In ontwikkeling'),
initBindings :function(){
var self = ls.HomeModel;
if (!ko.dataFor(document.getElementById('paghome')) ) {
ko.applyBindings(ls.HomeModel, document.getElementById("paghome"));
}
self.initModel();
},
initModel: function(){
var self = ls.HomeModel;
$.post("index.php/shared/portal/getmodule", function(result){
self.modulenr(parseInt(result.module));
if(self.modulenr() == 90 ||self.modulenr() == 610 )self.foto("kokofotoklein.png");
if (result.hometekst) { self.hometekst(result.hometekst);}
else {self.hometekst("In ontwikkeling");}
$.post("index.php/shared/organisaties/getorgnivo", function(nivo){
self.orgnivo(nivo);
switch (parseInt(self.orgnivo())){
//case 0:
case 1:
case 2:
case 3:
switch (self.modulenr()){
case 1: self.welkomtekst("Kies <i>ijkpunten</I> of <i>resultatenmatrix</i> voor een overzicht van de resultaten van uw organisatie.");
break;
case 270:
case 660:
case 2: self.welkomtekst("Kies <i>Diversiteitsoverzicht</i> voor een overzicht van de stand van zaken binnen uw organisatie.");
break;
case 3:
case 4: self.welkomtekst("Kies <i>Onderdelen</I> of <i>Resultatenmatrix</i> voor een overzicht van de resultaten van uw organisatie.");
break;
}
break;
case 0:
case 4 : switch (self.modulenr()){
case 1: self.welkomtekst("Kies <i>invullen monitor</i> om te beginnen.");
break;
case 270:
case 660:
case 2: self.welkomtekst("Kies <i>schoolgegevens</i> of <i>groepen</i> om te beginnen.");
break;
case 3:
case 4: self.welkomtekst("Kies <i>Invullen </i> om te beginnen.");
break;
}
break;
}
},'json');
},'json');
},
} ; // definition van model
ls.HomeModel.initBindings();
}; // else
}// function initHomeModel
});
+876
View File
@@ -0,0 +1,876 @@
$(function(){
ls.initIJkpuntenModel = function(){
var GrafiekInfo =null;
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 fAddSerie(s) {
var dit = this;
this.versieid = s.versieid;
this.scoretype = s.scoretype;
var scoreomschrijving = s.omschrijving;
if(s.omschrijving == 'included/involved/present/absent')
scoreomschrijving = 'inc/inv/pre/abs'
this.scoreomschrijving = scoreomschrijving;
this.naam = s.naam;
this.periodes = ko.observableArray([]);
this.vergelijk = ko.observable(false);
this.gekozen = ko.observable(false);
this.aangeklikt = ko.observable(0);
this.toonCheckbox = ko.pureComputed(function () {
var wattedoen = 'Verberg';
if(dit.vergelijk() === true && dit.gekozen() === true) {
wattedoen = 'Toon';
}
return wattedoen;
});
if (s.specificaties) {
$.each(s.specificaties, function (l, p) {
$.each(p, function (v, w) {
dit.periodes.push(new fAddPeriode(w));
})
});
dit.periodes().length >= 2 ? dit.vergelijk(true): dit.vergelijk(false);
}
}
function fAddPeriode(p){
var dit = this;
this.orgversieid = p.orgversieid;
this.periodenummer = p.periodenummer;
this.geldigvanaf = p.geldigvanaf;
this.geldigtm = p.geldigtotenmet;
this.invullentm = p.invullentm;
this.vorm = p.vorm;
this.wijik = "schoolversie";
if (p.vorm === '2') {
dit.wijik = "individuele versie"
}
this.geselecteerd = ko.observable(false);
}
function fAddLijst(i, l, nieuw){
var dit = this;
this.tooninfo = ko.observable(false);
if(nieuw === l.orgversie.id) {
dit.tooninfo(true);
}
this.orgversieid = l.orgversie.id;
this.scoretype = l.orgversie.scoretype;
this.orgnaam = l.orgnaam;
this.wijik = "schoolversie";
if (l.vorm === '2') {
dit.wijik = "individuele versie"
}
this.naamV = l.vNaam;
this.metingen = l.metingen;
this.metingenV = l.metingenV;
this.vantm = l.vantm;
this.periodenummer = l.orgversie.periodenummer
this.jaartal = l.jaartal;
this.label = l.label;
this.ambities = ko.observable(false);
if(l.ambities) {
if (l.ambities.gemscore && l.ambities.xijkpunten && l.ambities.zprocent) {
dit.ambities(true);
}
}
this.gemscore = 0;
if(l.ambities) {
dit.gemscore = l.ambities.gemscore;
}
this.ijkpunten = 0;
if(l.ambities) {
dit.ijkpunten = l.ambities.xijkpunten;
}
this.zprocent = 0;
if(l.ambities) {
dit.zprocent = l.ambities.zprocent;
}
this.scores = ko.observableArray([]);
this.erzijnscores = ko.observable(true);
if(l.scores){
var meegeven = 'scores';
$.each(l.scores, function (i, s){
dit.scores.push(new fAddScore(i,s, meegeven))
})
}
else if(l.vergelijkingen){
var meegeven = 'vergelijkingen';
$.each(l.vergelijkingen, function (x, v){
dit.scores.push(new fAddScore(x,v, meegeven))
})
}
else{
this.erzijnscores(false);
}
this.totgem = l.resultaten.totgem;
this.ijkpuntenok = l.resultaten.ijkpuntenok;
this.welkehoogste = l.resultaten.welkehoogste;
this.welkelaagste = l.resultaten.welkelaagste;
this.hoogstescore = l.resultaten.hoogstescore;
this.laagstescore = l.resultaten.laagstescore;
}
function fAddScore(i,s, meegeven){
var index = i;
var dit = this;
this.aantalScores = ko.observable(0);
if(index){
dit.aantalScores(index + 1);
}
this.nummer = s.nummer;
this.omschrijving = s.omschrijving;
this.toelichting = s.toelichting;
if (meegeven == 'vergelijkingen'){
this.gem = 'nvt';
this.gemV = s.gem;
this.kleur = 'lightgray'
this.kleurV = s.kleur;
}
else {
this.gem = s.gem;
this.gemV = s.gemV;
this.kleur = s.kleur;
this.kleurV = s.kleurV;
}
}
function fAddUser(p){
this.userid = p.id;
this.naam = p.fullname;
}
function fAddKleur(k){
this.grens1 = k.grens1;
this.grens2 = k.grens2;
this.grens3 = k.grens3;
this.grens4 = k.grens4;
this.kleur1 = k.kleur1;
this.kleur2 = k.kleur2;
this.kleur3 = k.kleur3;
this.kleur4 = k.kleur4;
}
function fAddIJkpunt(i){
this.ijkpuntid = i.id;
this.nummer = i.nummer;
this.omschrijving = i.omschrijving;
this.toelichting = i.toelichting;
}
if (ls.IJkpuntenModel !== undefined){
ls.IJkpuntenModel.initModel();
}
else {
ls.IJkpuntenModel = {
toporg : ko.observableArray([]),
selectedOrg : ko.observable(''),
orgsoort : ko.observable(1),
orgversions : ko.observableArray([]),
selectedOrgversion : ko.observable(''),
toonVergelijking : ko.observable(false),
//er kan een vergelijking worden getoond (scores van leerkracht, school of bestuur)
ijkpunten : ko.observableArray([]),
series : ko.observableArray([]),
selectedSerie : ko.observable(0),
aantal : ko.observable(0),
lijnAt : ko.observable(50),
targetnaam : ko.observable(''),
kleurlegenda : ko.observable(),
usernivo : ko.observable(), // het nivo van de ingelogde user; nodig om te bepalen of individuele gegevens moeten worden opgehaald
bezig : ko.observable(false),
inzage : ko.observable(),
nieuwste : ko.observable(0),
nietIngevuld : ko.observable(false),
erzijnlijsten : ko.observable(false),
selectie : ko.observableArray([]),
lijsten : ko.observableArray([]),
scorekleuren : ko.observable(null),
hoogte : ko.observable(0),
breedte : ko.observable(0),
isSWV : ko.observable(false),
nieuwsteVersie : ko.observable(0),
users : ko.observableArray([]),
selectedUser : ko.observable(),
label : ko.observable(),
medewerkerKiezen : ko.observable(false),
ijkgrafiek : ko.observable(''),
scoretype : ko.observable(''),
aantalmetingen : ko.observable(0),
initBindings :function(){
var self = ls.IJkpuntenModel;
if (!ko.dataFor(document.getElementById('pagijkpunten')) ) {
ko.applyBindings(ls.IJkpuntenModel, document.getElementById("pagijkpunten"));
}
self.initModel();
},
initModel: function(){
var self =ls.IJkpuntenModel;
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));
self.isSWV(true);
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());
$.post('index.php/monpas/rapmatrix/checkinzage', function(result){
self.inzage(result);
},'json');
},'json');
}
self.bezig(false);
},'json');
},
fToggleGeopend: function(){
this.geopend(!this.geopend());
},
fGetVergelijkbareVersies: function(){
var self = ls.IJkpuntenModel;
if (self.selectedOrg() === undefined) return;
$.post('index.php/monpas/rapijkpunten/getvergelijkbareversies/'+ self.selectedOrg().id, function(result) {
if (result && result.series. length > 0 ) {
self.series.removeAll();
$.each(result.series, function (i, s) {
self.series.push(new fAddSerie(s));
});
self.selectedSerie(self.series()[0]);
if(self.series().length > 0) {
$("#modIJkpuntenLijst").modal('show');
}
else{
apprise("De organisatie heeft (nog) geen lijsten bij dit instrument ingevuld");
}
}
else {
apprise("Er is nog geen lijst ingevuld bij dit instrument");
}
},'json');
},
fSelecteerSerie: function(){
var self = ls.IJkpuntenModel;
var dit = this;
self.selectedSerie(this);
if(self.series && self.selectedSerie()){
$.each(self.series(), function (i, s) {
if (s.versieid === self.selectedSerie().versieid) {
s.gekozen(true);
}
else{
s.gekozen(false);
}
});
}
this.eenPeriode = ko.computed(function(){
var eentje = false;
if(self.selectedSerie().periodes().length === 1) {
eentje = true;
}
return eentje;
});
$.each(self.selectedSerie().periodes(), function(j,p){
p.geselecteerd(false);
if(dit.eenPeriode()){
p.geselecteerd(true);
}
});
return true;
},
fSelecteerPeriode: function(){
var self = ls.IJkpuntenModel;
var dit = this;
this.geselecteerd(!this.geselecteerd());
var aantal = self.selectedSerie().aangeklikt();
self.selectedSerie().meerdan4 = ko.computed(function(){
var teveel = false;
if(dit.geselecteerd()){
aantal = aantal +1;
}
if(dit.geselecteerd()===false){
aantal = aantal -1;
}
if(aantal > 4){
teveel = true;
}
return teveel;
});
if(self.selectedSerie().meerdan4()){
this.geselecteerd(false);
apprise("u kunt maximaal 4 lijsten vergelijken");
}
self.selectedSerie().aangeklikt(aantal);
return true;
},
fHaalLijstenOp: function(herkomst){
var self = ls.IJkpuntenModel;
var dit = this;
self.erzijnlijsten(false);
self.nietIngevuld(false);
self.selectie.removeAll();
var selectie = [];
if(self.selectedSerie()) {
$.each(self.selectedSerie().periodes(), function (i, p) {
if (p.geselecteerd()=== true) {
var orgversie =
{'orgversieid': p.orgversieid,
'vorm' : p.vorm };
self.selectie.push(orgversie);
}
})
}
if(herkomst === 'popup') {
$("#modIJkpuntenLijst").modal('hide');
}
selectie = self.selectie();
var submitData = {
'selectie': selectie,
'orgid': self.selectedOrg().id
};
showAjaxLoader();
$.post('index.php/monpas/rapijkpunten/getingevuldelijsten/', submitData, function(result){
self.erzijnlijsten(false);
self.nietIngevuld(false);
self.medewerkerKiezen(false);
self.nieuwsteVersie(0);
self.lijsten.removeAll();
self.ijkpunten.removeAll();
self.aantal('');
var teller = 0;
if(result ) {
$.each(result.lijsten, function (i, p) {
if (p.scores || p.vergelijkingen) {
self.erzijnlijsten(true);
self.nietIngevuld(false)
}
if(self.erzijnlijsten === false){
self.nietIngevuld(true)
}
if(i === 0 && p.orgversie){
if(p.orgversie.scoretype){
self.scoretype(p.orgversie.scoretype);
}
}
});
}
else{
self.nietIngevuld(true);
}
if(self.erzijnlijsten()){
var nieuw = '';
if (result.nieuwsteversie) {
nieuw = result.nieuwsteversie;
self.nieuwsteVersie(nieuw);
}
$.each(result.lijsten, function(j,l){
if(j == 0){
self.label(l.label)
self.aantalmetingen(l.metingen)
}
self.lijsten.push(new fAddLijst(j,l, nieuw))
});
if (result.aantal) {
self.aantal(result.aantal);
}
if(result.kleuren){
self.scorekleuren(new fAddKleur(result.kleuren));
}
if(result.ijkpunten){
$.each(result.ijkpunten, function(y, k){
self.ijkpunten.push(new fAddIJkpunt( k))
}
)
}
self.fOpenGrafiek();
if(result.users.length > 0 && self.orgsoort()===4){
self.medewerkerKiezen(true);
self.users.removeAll();
$.each(result.users, function(x, u){
self.users.push(new fAddUser(u));
})
self.selectedUser(self.users()[0]);
}
}
else{
self.fGetVergelijkbareVersies();
}
}, 'json').always(function(){
hideAjaxLoader() } );
return true;
},
fSwitchOrg: function(){
var self = ls.IJkpuntenModel;
self.isSWV(false);
if (self.selectedOrg() === undefined) return;
if (this.id === self.selectedOrg().id) return;
self.selectedOrg(this);
if(self.selectedOrg().soort === '1'){
self.isSWV(true);
}
if(self.selectedSerie() !== 0) {
var herkomst = 'switch';
self.fHaalLijstenOp(herkomst);
}
},
fGetUserScores: function(data, event){
var self = ls.IJkpuntenModel;
if ( self.selectedOrg() === undefined ||
self.users() === undefined ||
self.usernivo > 1 ) return;
if (self.selectedUser() === undefined) return;
if(! event.originalEvent || ! event.originalEvent.isTrusted) return;
if(self.selectedUser().userid === '0') self.fHaalLijstenOp();
var selectieInd = [];
var selectieOrgversies = [];
$.each(self.selectie(),function(i, s){
if(s.vorm === '2'){
selectieInd.push(s);
selectieOrgversies.push(s.orgversieid)
}
});
self.selectie(selectieInd);
var submitData = {
'orguserid': self.selectedUser().userid,
'selectie': selectieOrgversies,
'orgid': self.selectedOrg().id
};
// showAjaxLoader();
self.lijsten.removeAll();
self.erzijnlijsten(false);
self.nietIngevuld(false);
$.post('index.php/monpas/rapijkpunten/getuserlijsten/', submitData, function (result) {
self.lijsten.removeAll();
self.nieuwsteVersie(0);
self.aantal('');
var teller = 0;
if (result && result.lijsten) {
$.each(result.lijsten, function (i, p) {
if (p.scores) {
self.erzijnlijsten(true);
self.nietIngevuld(false);
}
else{self.nietIngevuld(true)}
})
}
else{
self.nietIngevuld(true)
}
if (self.erzijnlijsten()) {
var nieuw = '';
if (result.nieuwsteversie) {
nieuw = result.nieuwsteversie;
self.nieuwsteVersie(nieuw);
}
$.each(result.lijsten, function (j, l) {
self.lijsten.push(new fAddLijst(j, l, nieuw))
});
if (result.aantal) {
self.aantal(result.aantal);
}
if (result.kleuren) {
self.scorekleuren(new fAddKleur(result.kleuren));
}
self.fOpenGrafiek();
}
}, 'json').always(function () {
// hideAjaxLoader()
});
},
fOpenGrafiek: function(){
var self = ls.IJkpuntenModel;
var dit = this;
var lijsten = self.lijsten();
var lijsten2 = self.lijsten();
var xas = [];
var verkorteVersies = [];
var extraLijn = [];
var balkGegevens = [];
var lijnGegevens;
var ambitiewaarde = 0;
var xastitel;
$.each(lijsten, function(i, l) {
var labels = [];
var scores = [];
var ambities = [];
if(l.label){
xastitel = l.label;
}
var zwart = '#0000';
if(l.gemscore && parseFloat(l.gemscore) > 0){
ambitiewaarde = parseFloat(l.gemscore);
}
lijsten[i].scores = l.scores();
$.each(lijsten[i].scores, function (j, g) {
var omschrijving = '';
if(g.omschrijving){
omschrijving = g.omschrijving;
}
labels.push(g.nummer);
scores.push({ y : parseFloat(g.gem),
color : g.kleur,
name : g.nummer,
soort : 'score',
versie : l.periodenummer,
vantm : l.vantm,
omschrijving: omschrijving});
verkorteVersies.push(l.periodenummer);
ambities.push(
{
y: ambitiewaarde,
color: '#000000',
name: '',
soort: 'ambitie',
versie: l.periodenummer,
vantm: l.vantm,
omschrijving: g.omschrijving
}
);
});
labels.unshift(' ');
var legescore ={
y : null,
color : 'transparent',
name : '0',
soort : 'extra',
versie : l.periodenummer,
vantm : l.vantm,
omschrijving: ''
};
scores.unshift(legescore);
verkorteVersies.unshift(l.periodenummer);
labels.push(' ');
scores.push(legescore);
verkorteVersies.push(l.periodenummer);
balkGegevens[i] =({
dataLabels: {
format: '{point.versie}'
},
type : 'column',
name : verkorteVersies,
data : scores
});
var extralijn = {
y: ambitiewaarde,
name: '',
soort: 'extra'
};
ambities.unshift(extralijn);
ambities.push(extralijn);
lijnGegevens = ({
dataLabels: {
format: ''
},
type: 'spline',
name: verkorteVersies,
data: ambities
});
balkGegevens.push(lijnGegevens);
xas = labels;
});
self.ijkgrafiek = Highcharts.chart('hc-chart1', {
title: {
text: ''
},
credits: {
enabled: false,
},
tooltip:{
useHTML: true,
outside: true,
formatter: function() {
var txt = null;
if(!this.point.omschrijving){
this.point.omschrijving = '';
}
if(this.point.soort === 'score' || this.point.soort === 'ambitie' ) {
txt = '<div class="ijktooltip"><p>' + this.point.vantm + '</p>' + '<br/>' + '<p>' + this.x + '. '
+ this.point.omschrijving + ' ' + this.point.soort + ': ' + this.y + '</p></div>';
return txt;
}
}
},
xAxis: {
type: 'category',
categories: xas,
title:{
text: xastitel
}
},
yAxis: {
min:0,
max: 100,
title: {
text: 'Scores'
}
},
legend: {
enabled: false
},
plotOptions: {
column:{
pointPadding: 0.05,
borderWidth:0
},
series:{
groupPadding: 0.05,
dataLabels: {
enabled: true,
inside: true,
align: 'center',
verticalAlign: 'bottom',
color: '#404040',
style: {
textOutline: false
}
}
},
spline: {
color: '#404040',
pointStart: 0,
marker: {
enabled: false
}
}
},
series:
balkGegevens,
showInLegend: false
});
},
fToonToelichting: function(){
var self = ls.IJkpuntenModel;
var dit = this;
var puntje = '. ';
if(dit.nummer === 'gem'){
dit.nummer = '';
puntje = '';
dit.toelichting ='gemiddelde score';
}
apprise('Toelichting: ' + puntje + dit.toelichting);
},
fPrintIJkpuntenBar : function () {
var self = ls.IJkpuntenModel;
self.inlineCSStoSVG("hc-chart1")
var svgElem = document.querySelector("#hc-chart1 svg");
var svgData = new XMLSerializer().serializeToString(svgElem);
var canvas = document.getElementById('ijkpuntencanvas');
var ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.canvas.height = svgElem.clientHeight;
ctx.canvas.width = svgElem.clientWidth;
var img = document.createElement('img');
img.setAttribute("src", "data:image/svg+xml;base64," + btoa(svgData));
img.onload = function () {
ctx.drawImage(img, 0, 0);
GrafiekInfo = canvas.toDataURL("image/png")
canvas.style.display = "none";
self.fPrint();
};
},
inlineCSStoSVG: function ( id ) {
var self = ls.IJkpuntenModel;
var nodes = document.querySelectorAll( "#" + id + " *" );
for ( var i = 0; i < nodes.length; ++i ) {
var elemCSS = window.getComputedStyle( nodes[i], null );
nodes[i].removeAttribute( 'xmlns' );
nodes[i].style.fill = elemCSS.fill;
nodes[i].style.fillOpacity = elemCSS.fillOpacity;
nodes[i].style.stroke = elemCSS.stroke;
nodes[i].style.strokeLinecap = elemCSS.strokeLinecap;
nodes[i].style.strokeDasharray = elemCSS.strokeDasharray;
nodes[i].style.strokeWidth = elemCSS.strokeWidth;
nodes[i].style.fontSize = elemCSS.fontSize;
nodes[i].style.fontFamily = elemCSS.fontFamily;
//Finally, solution to embbed HTML in foreignObject https://stackoverflow.com/a/37124551
if ( nodes[i].nodeName === "SPAN" || nodes[i].nodeName === "span" ) {
nodes[i].setAttribute( "xmlns", "http://www.w3.org/1999/xhtml" );
}
}
},
fPrint: function(){
var self = ls.IJkpuntenModel;
// var element = document.querySelector('#hc-chart1')
// var svgAsXML = (new XMLSerializer).serializeToString(element);
var orgid = self.selectedOrg().id;
var lijsten = self.lijsten();
var nieuwsteversie = self.nieuwsteVersie();
var scorekleuren = self.scorekleuren();
var versie = 'Versie: ' + self.selectedSerie().naam + ', scoretype: ' +
self.selectedSerie().scoreomschrijving;
var data = {
'image' : GrafiekInfo,
'orgid' : orgid,
'lijsten' : lijsten,
'versie' : versie,
'docentnaam' : self.selectedUser() ? self.selectedUser().naam : '',
'nieuwsteversie': nieuwsteversie,
'scorekleuren' : scorekleuren
};
data=JSON.stringify(data);
var $form = $("<form method='post' action='index.php/monpas/rapijkpunten/maakijkpuntenpdf' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
}
} ; // definition van model
ls.IJkpuntenModel.initBindings();
} // else
}// function initIJkpuntenModel
});
@@ -0,0 +1,422 @@
$(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.brin = p.brin
this.plaats = p.plaats
}
function fAddOrgversion(p) {
this.id = p.id; //orgversion id
this.periodenummer = p.periodenummer
this.versie_id = p.versie_id
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 +
", " + this.geldigvanaf + " t/m " + this.geldigtm;
return versieInfostr;
}
,this)
}
function fAddIndeling(p) {
var dit = this;
this.id = p.waardeid;
this.naam = p.naam
this.volgorde = p.volgorde;
this.organisaties = ko.observableArray([]);
if (p.users) {
$.each(p.users, function (j, k) {
dit.organisaties.push(new fAddOrgIndeling(k));
})
}
}
function fAddOrgIndeling(k) {
var dit = this;
this.subject = k.fullname;
this.naamkort = k.naamkort;
this.brin = '';
if (k.brin) this.brin = k.brin;
this.fvid = k.filledversionid;
this.results = ko.observableArray([]);
if (k.oordelen) {
$.each(k.oordelen, function (j, k) {
dit.results.push(new fAddResult(k));
})
}
}
function fAddIJkpunt(p) {
this.nummer = p.nummer;
this.omschrijving = p.omschrijving;
this.toelichting = p.toelichting;
}
function fAddResult(k) {
var dit = this;
this.num = k.nummer;
this.normId = k.normID;
this.kleur = k.kleur;
this.waarde = ko.observable("N");
switch(dit.normId){
case "1" : dit.waarde("Z"); break;
case "2" : dit.waarde("O"); break;
case "3" : dit.waarde("V"); break;
case "4" : dit.waarde ("G"); break;
}
}
function fAddCriteria(c) {
var dit = this;
this.criteriumid = ko.observable(c.id);
this.naam = ko.observable(c.naam);
}
ls.initInspectiematrixModel = function(){
if (ls.InspectiematrixModel !== undefined){
ls.InspectiematrixModel.initModel();
}
else {
ls.InspectiematrixModel = {
bgs : ko.observableArray([]),
ijkpunten : ko.observableArray([]),
toporg : ko.observableArray([]),
kleuren : ko.observableArray([]),
criteria : ko.observableArray([]),
indelingen : ko.observableArray([]),
selectedOrg : ko.observable(''),
orgsoort : ko.observable(1),
orgversions : ko.observableArray([]),
selectedOrgversion : ko.observable(),
selectedCriterium : ko.observable(0),
versievorm : ko.observable(),
inzage : ko.observable(),
kleurlegenda : ko.observable(''),
invulid : ko.observable(''),
bezig : ko.observable(false),
druk : ko.observable(false),
aantalY : ko.observable(0),
data : ko.observable(false),
kolombreedte : ko.pureComputed(function(){
var row = 708;
var orgbreedte = 250
var aantal = 15;
if(ls.InspectiematrixModel.aantalY()> 1) {
aantal = ls.InspectiematrixModel.aantalY();
}
var breedte = Math.floor((row - orgbreedte)/aantal);
return breedte;
}),
orgbreedtehead : ko.pureComputed(function(){
var aantal = 15;
if(ls.InspectiematrixModel.aantalY()> 1) {
aantal = ls.InspectiematrixModel.aantalY();
}
orgpassend = Math.floor(708 - (aantal * ls.InspectiematrixModel.kolombreedte()))
return orgpassend;
}),
orgbreedtebody : ko.pureComputed(function(){
var aantal = 15;
if(ls.InspectiematrixModel.aantalY()> 1) {
aantal = ls.InspectiematrixModel.aantalY();
}
var orgpassend = Math.floor(708- (aantal * ls.InspectiematrixModel.kolombreedte()))
return orgpassend;
}),
initBindings :function(){
var self = ls.InspectiematrixModel;
if (!ko.dataFor(document.getElementById('paginspectiematrix')) ) {
ko.applyBindings(ls.InspectiematrixModel, document.getElementById("paginspectiematrix"));
}
self.initModel();
},
initModel: function(){
var self = ls.InspectiematrixModel;
self.toporg('');
self.fCheckInzageRecht();
$.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;
}
self.selectedOrg(self.toporg());
self.fSwitchLevel();
}
}, 'json');
},
fToggleGeopend: function () {
this.geopend(!this.geopend());
},
fCheckInzageRecht: function () {
var self = ls.InspectiematrixModel;
$.post("index.php/monpas/rapmatrix/checkinzage/", function (data) {
if (data) {
self.inzage(data);
}
}, 'json');
},
fCheckOwner: function () {
var self = ls.InspectiematrixModel;
var submitData = {
"orgversieid": self.selectedOrgversion().id,
"orgid": self.selectedOrg().id,
}
$.post("index.php/monpas/rapmatrix/checkowner/", submitData, function (data) {
if (data) {
self.invulid(parseInt(data));
}
}, 'json');
},
fSwitchOrg: function () {
var self = ls.InspectiematrixModel;
if (self.selectedOrg() == undefined) return;
if (this.id == self.selectedOrg().id) return;
self.selectedOrg(this);
self.fSwitchLevel();
},
fSwitchLevel: function () {
var self = ls.InspectiematrixModel;
if (self.selectedOrg() == undefined) return;
var versieid = null;
if(self.selectedOrgversion() != undefined ) {
versieid = self.selectedOrgversion().id;
}
$.post("index.php/monpas/rapijkpunten/getperiodes3/" + self.selectedOrg().id, function (data) {
self.bezig(true);
self.orgversions.removeAll();
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;
}
});
}
if(self.toporg().soort == 4) {
self.bezig(false);
self.fChangeVersion2();
}
else {
self.fGetCriteria();
}
}
}, 'json')
.always(self.bezig(false));
},
fChangeVersion2: function () {
var self = ls.InspectiematrixModel;
if (self.selectedOrgversion() == undefined) return;
if (self.bezig()) return;
self.fHaalScoresOp();
},
fHaalScoresOp: function(){
var self = ls.InspectiematrixModel;
if(self.druk()) return;
var sorteerid = 0;
if(self.selectedCriterium())
{
sorteerid = self.selectedCriterium().criteriumid();
}
var submitData = {
'orgid' : self.selectedOrg().id,
'orgsoort' : self.selectedOrg().soort,
'criteriumid' : sorteerid,
'orgversieid' : self.selectedOrgversion().id,
}
// showAjaxLoader();
$.post("index.php/monpas/rapmatrix/haalInspectieScoresOp", submitData, function (results) {
self.indelingen.removeAll();
self.ijkpunten.removeAll();
if (results) {
self.fCheckOwner();
self.aantalY(results.aantalY);
self.data(results.uitslagen);
self.kleurlegenda(results.kleurtabel);
$.each(results.ijkpunten, function (i, p){
self.ijkpunten.push(new fAddIJkpunt(p));
}); // each
$.each(results.labels, function (i, p) {
self.indelingen.push(new fAddIndeling(p));
}); // each
};
// if results
}, 'json');
// hideAjaxLoader();
},
fGetCriteria: function(){
var self = ls.InspectiematrixModel;
var submitData ={
'orgid' : self.selectedOrg().id,
'orgsoort' : self.selectedOrg().soort
}
$.post("index.php/monpas/rapmatrix/getCriteriaSWV", submitData, function(results) {
self.druk(true);
self.criteria.removeAll();
if (results) {
$.each(results, function (i, c) {
self.criteria.push(new fAddCriteria(c));
if (c.id == 1000) {
self.selectedCriterium(c.id);
return false;
}
}); // each
}
self.druk(false);
self.fChangeCriterium();
},'json')
.always(self.druk(false), self.bezig(false));
},
fChangeCriterium: function(){
var self = ls.InspectiematrixModel;
if (self.selectedOrgversion() == undefined) return;
if (self.druk() ) return;
self.fHaalScoresOp();
},
fToonToelichting: function () {
var self = ls.InspectiematrixModel;
var dit = this;
apprise("Toelichting bij ijkpunt " + dit.nummer + ":<br/><i>" + dit.omschrijving + "</i><br/><hr/> " + dit.toelichting);
},
fPrint:function(){
var self =ls.InspectiematrixModel;
// if (self.bezig()) return;
// self.bezig(true);
var criterium= null;
if(self.selectedCriterium()){
criterium = self.selectedCriterium().naam();
}
var indelingen = ko.toJSON(self.indelingen());
var ijkpunten = ko.toJSON(self.ijkpunten);
var data ={
'orgversie' : self.selectedOrgversion(),
'organisatie' : self.selectedOrg(),
'indelingen' : indelingen,
'ijkpunten' : ijkpunten,
'criterium' : criterium,
'kopbreedte' : self.orgbreedtehead()+"px",
'orgbreedte' : self.orgbreedtebody()+"px",
'kolombreedte' : self.kolombreedte()+"px",
'uitslagen' : self.data(),
'invulid' : self.invulid(),
'inzage' : self.inzage(),
'kleurlegenda' : self.kleurlegenda(),
}
data=JSON.stringify(data);
var $form = $("<form method='post' action='index.php/monpas/rapmatrix/printinspectie' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
}
} ; // definition van model
ls.InspectiematrixModel.initBindings();
}; // else
}// function initInspectieInspectiematrixModel
});
+562
View File
@@ -0,0 +1,562 @@
$(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');
}, 600);
},
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');
}, 600);
},
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
});
+138
View File
@@ -0,0 +1,138 @@
$(function(){
ls.initLijstenModel = function(){
function fAddSWV(result, targetorgid){
var dit = this;
if (typeof result.naam != 'undefined'){
this.naam = result.naam;
}
this.geopend= ko.observable(true);
this.kamers = ko.observableArray();
if (result.kamers){
$.each(result.kamers, function(i,p){
dit.kamers.push(new fAddKamer(p,targetorgid));
}); //each
}; // if result
}
function fAddKamer(p,targetorgid){
var dit = this;
if (typeof p.naam != 'undefined'){
this.naam= p.naam
this.geopend = ko.observable(false);
if (targetorgid == p.id) this.geopend(true);
}
else this.geopend = ko.observable(true);
this.bgs = ko.observableArray();
if (p.bgs){
$.each(p.bgs, function(j,k){
dit.bgs.push(new fAddBG(k,targetorgid));
}); // each
}; // if bgs
};
function fAddBG(k, targetorgid){
var dit = this;
if (typeof k.naam != 'undefined'){
this.naam = k.naam;
this.geopend= ko.observable(false);
if (targetorgid == k.id) this.geopend(true);
} // if not undefined
else this.geopend = ko.observable(true);
this.scholen = ko.observableArray();
if (k.scholen){
$.each(k.scholen, function(i,p){
dit.scholen.push(new fAddSchool(p, targetorgid));
}); //each
}; // if scholen
};
function fAddSchool(p,targetorgid){
this.id = p.id;
this.naam = p.naam
this. selected =ko.observable(false);
if (this.id == targetorgid){
this.selected(true);
ls.LijstenModel.selectedSchool(this);
}
}
function fAddLijst(p){
this.fvid = p.fvid;
this.periode = p.periodenummer;
this.vorm = p.vorm;
this.vanaf = p.geldigvanaf
this.tm = p.geldigtm
this.naam = p. naam;
this.usernaam = p.usernaam;
}
if (ls.LijstenModel !== undefined){
ls.LijstenModel.initModel();
}
else {
ls.LijstenModel = {
selectedSchool : ko.observable(null),
swv : ko.observable(),
lijsten : ko.observableArray(),
initBindings :function(){
var self = ls.LijstenModel;
if (!ko.dataFor(document.getElementById('paglijsten')) ) {
ko.applyBindings(ls.LijstenModel, document.getElementById("paglijsten"));
}
self.initModel();
},
initModel: function(){
var self = ls.LijstenModel;
$.post("index.php/monpas/lijsten/getorganisaties", function(result){
self.swv(null);
if (result.swv){
self.swv(new fAddSWV(result.swv,result.targetorg.id));
if (self.selectedSchool()) self.fGetLijsten();
}; // if result
},'json');
},
fToggle: function(){
this.geopend(!this.geopend());
},
fSetSelected: function(){
var self = ls.LijstenModel;
if (this == self.selectedSchool){
return;
};
if (self.selectedSchool()) self.selectedSchool().selected(false);
self.selectedSchool(this);
self.selectedSchool().selected(true);
self.fGetLijsten();
},
fGetLijsten: function(){
var self = ls.LijstenModel;
if (!self.selectedSchool()) return;
$.post("index.php/monpas/lijsten/getlijsten/" + self.selectedSchool().id, function(result){
self.lijsten.removeAll();
if (result){
$.each(result, function(i,p){
self.lijsten.push(new fAddLijst(p));
}); // each
}
},'json');
},
fDeleteLijst: function(){
var self =ls.LijstenModel;
var dit = this;
var naam = "de school ";
if (dit.vorm ==2) naam= dit.usernaam
apprise("Weet u zeker dat u de lijst <i> " + dit.naam + "</i> ingevuld door " + naam + " wilt verwijderen? ",
{verify:true, textYes: 'ja' , textNo: 'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/lijsten/deletelijst/" + dit.fvid, function(){
self.lijsten.remove(dit);
},'json');
}
}); // apprise
}
} ; // definition van model
ls.LijstenModel.initBindings();
}; // else
}// function initLijstenModel
});
+464
View File
@@ -0,0 +1,464 @@
$(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.brin = p.brin
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
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 fAddIndeling(p) {
var dit = this;
this.id = p.waardeid;
this.naam = p.naam
this.volgorde = p.volgorde;
this.organisaties = ko.observableArray([]);
if (p.users) {
$.each(p.users, function (j, k) {
dit.organisaties.push(new fAddOrgIndeling(k));
})
}
}
function fAddOrgIndeling(k) {
var dit = this;
this.subject = k.fullname;
this.naamkort = k.naamkort;
this.brin = '';
if (k.brin) this.brin = k.brin;
this.fvid = k.filledversionid;
this.results = ko.observableArray([]);
if (k.scores) {
$.each(k.scores, function (j, k) {
dit.results.push(new fAddResult(k));
})
}
}
function fAddIJkpunt(p) {
this.nummer = p.nummer;
this.omschrijving = p.omschrijving;
this.toelichting = p.toelichting;
}
function fAddResult(k) {
var dit = this;
if (k.gem === '' || isNaN(k.gem) || k.gem === null) {
this.gem = 0;
}
else {
this.gem = Math.round(parseFloat(k.gem));
}
this.num = k.nummer;
this.colorcode = '#e08885';
if(k.kleur) dit.colorcode = k.kleur;
}
function fAddCriteria(c) {
var dit = this;
this.criteriumid = ko.observable(c.id);
this.naam = ko.observable(c.naam);
}
ls.initMatrixModel = function () {
if (ls.MatrixModel !== undefined) {
ls.MatrixModel.initModel();
}
else {
ls.MatrixModel = {
bgs : ko.observableArray([]),
erzijnscores : ko.observable(false),
ijkpunten : ko.observableArray([]),
toporg : ko.observableArray([]),
criteria : ko.observableArray([]),
indelingen : ko.observableArray([]),
selectedOrg : ko.observable(''),
orgsoort : ko.observable(1),
orgversions : ko.observableArray([]),
selectedOrgversion : ko.observable(''),
selectedCriterium : ko.observable(0),
versievorm : ko.observable(''),
kleurlegenda : ko.observable(''),
inzage : ko.observable(),
invulid : ko.observable(''),
aantalY : ko.observable(0),
bezig : ko.observable(false),
druk : ko.observable(false),
data : ko.observable(false),
kolombreedte : ko.pureComputed(function(){
var row = 708;
var orgbreedte = 250
var aantal = 16;
if(ls.MatrixModel.aantalY()){
aantal = ls.MatrixModel.aantalY()+1;
}
var breedte = Math.floor((row - orgbreedte)/aantal);
return breedte;
}),
orgbreedtehead : ko.pureComputed(function(){
var aantal = 16;
if(ls.MatrixModel.aantalY()){
aantal = ls.MatrixModel.aantalY()+1;
}
orgpassend = Math.floor(700 - (aantal * ls.MatrixModel.kolombreedte()))
return orgpassend;
}),
orgbreedtebody : ko.pureComputed(function(){
var aantal = 16;
if(ls.MatrixModel.aantalY()){
aantal = ls.MatrixModel.aantalY()+1;
}
var orgpassend = Math.floor(710- (aantal * ls.MatrixModel.kolombreedte()))
return orgpassend;
}),
initBindings: function () {
var self = ls.MatrixModel;
if (!ko.dataFor(document.getElementById('pagmatrix'))) {
ko.applyBindings(ls.MatrixModel, document.getElementById("pagmatrix"));
}
self.initModel();
},
initModel: function () {
var self = ls.MatrixModel;
self.toporg('');
self.fCheckInzageRecht();
$.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;
}
self.selectedOrg(self.toporg());
self.fSwitchLevel();
}
}, 'json');
},
fCheckInzageRecht: function () {
var self = ls.MatrixModel;
$.post("index.php/monpas/rapmatrix/checkinzage/", function (data) {
if (data) {
self.inzage(data);
}
}, 'json');
},
fSwitchOrg: function () {
var self = ls.MatrixModel;
if (self.selectedOrg() == undefined) return;
if (this.id == self.selectedOrg().id) return;
self.selectedOrg(this);
self.orgversions.removeAll();
self.fSwitchLevel();
},
fSwitchLevel: function () {
var self = ls.MatrixModel;
if (self.selectedOrg() == undefined) return;
var versieid = null;
if(self.selectedOrgversion() != undefined ) {
versieid = self.selectedOrgversion().id;
}
$.post("index.php/monpas/rapijkpunten/getperiodes3/" + self.selectedOrg().id, function (data) {
// ls: hier self bezig toegevoegd en later weer op false gezet zodat de functie fChangeVersion2 niet
// wordt aangeroepen voor dat alle orgversions zijn ingelezen en selectedOrgversion is gezet.
self.bezig(true);
self.orgversions.removeAll();
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;
}
});
}
if(self.selectedOrg().soort == 4) {
self.bezig(false);
self.fChangeVersion2();
}
else {
self.fGetCriteria();
}
}
}, 'json')
.always(self.bezig(false) );
},
fToggleGeopend: function () {
this.geopend(!this.geopend());
},
fCheckOwner: function () {
var self = ls.MatrixModel;
var submitData = {
"orgversieid" : self.selectedOrgversion().id,
"orgid" : self.selectedOrg().id,
}
// hideAjaxLoader();
$.post("index.php/monpas/rapmatrix/checkowner/", submitData, function (data) {
if (data) {
self.invulid(parseInt(data));
}
}, 'json');
},
// fSwitchOrg: function () {
// var self = ls.MatrixModel;
//
// if (self.selectedOrg() == undefined) return;
// if (this.id == self.selectedOrg().id) return;
// self.selectedOrg(this);
// self.fSwitchLevel();
// },
fGetCriteria: function(){
var self = ls.MatrixModel;
var submitData ={
'orgid' : self.selectedOrg().id,
'orgsoort' : self.selectedOrg().soort
}
$.post("index.php/monpas/rapmatrix/getCriteriaSWV", submitData, function(results) {
self.druk(true);
self.criteria.removeAll();
if (results) {
$.each(results, function (i, c) {
self.criteria.push(new fAddCriteria(c));
if (c.id == 1000) {
self.selectedCriterium(c.id);
return false;
}
}); // each
}
self.druk(false);
self.fChangeCriterium();
},'json')
.always(self.druk(false), self.bezig(false));
},
fChangeCriterium: function(){
var self = ls.MatrixModel;
if (self.selectedOrgversion() == undefined) return;
if (self.druk() ) return;
self.fHaalScoresOp();
},
fChangeVersion2: function () {
var self = ls.MatrixModel;
if (self.selectedOrgversion() == undefined) return;
if (self.bezig() ) return;
self.fHaalScoresOp();
},
fHaalScoresOp: function(){
var self = ls.MatrixModel;
var dit = this;
if (self.druk() ) return;
var sorteerid = 0;
if(self.selectedCriterium())
{
sorteerid = self.selectedCriterium().criteriumid();
}
var submitData = {
'orgid' : self.selectedOrg().id,
'orgsoort' : self.selectedOrg().soort,
'toporg' : self.toporg().soort,
'criteriumid' : sorteerid,
'orgversieid' : self.selectedOrgversion().id,
}
// showAjaxLoader();
$.post("index.php/monpas/rapmatrix/haalScoresOp", submitData, function(results) {
self.data(false);
self.indelingen.removeAll();
self.ijkpunten.removeAll();
if (results) {
self.erzijnscores(results.erzijnscores);
if(!self.erzijnscores()){
apprise("Er is nog geen lijst ingevuld bij dit instrument");
return;
}
else {
self.data(true);
$.each(results.labels, function (i, p) {
self.indelingen.push(new fAddIndeling(p));
}); // each
self.fCheckOwner();
$.each(results.ijkpunten, function (i, p) {
self.ijkpunten.push(new fAddIJkpunt(p));
}); // each
self.aantalY(results.aantalY);
self.versievorm(results.vorm);
self.kleurlegenda(results.kleurtabel);
}
}
}, 'json').always(function(){
hideAjaxLoader() } );
},
fToonToelichting: function () {
var self = ls.MatrixModel;
var dit = this;
apprise("Toelichting bij ijkpunt " + dit.nummer + ":<br/><i>" + dit.omschrijving + "</i><br/><hr/> " + dit.toelichting);
},
fPrint:function(){
var self =ls.MatrixModel;
if (self.bezig()) return;
self.bezig(true);
var criterium= null;
if(self.selectedCriterium()){
criterium = self.selectedCriterium().naam();
}
var indelingen = ko.toJSON(self.indelingen());
var ijkpunten = ko.toJSON(self.ijkpunten);
var data ={
'orgversie' : self.selectedOrgversion(),
'criterium' : criterium,
'organisatie' : self.selectedOrg(),
'indelingen' : indelingen,
'ijkpunten' : ijkpunten,
'invulid' : self.invulid(),
'inzage' : self.inzage(),
'kopbreedte' : self.orgbreedtehead(),
'orgbreedte' : self.orgbreedtebody(),
'kolombreedte' : self.kolombreedte(),
}
data=JSON.stringify(data);
var $form = $("<form method='post' action='index.php/monpas/rapmatrix/printmatrix' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
self.bezig(false);
},
}; // definition van model
ls.MatrixModel.initBindings();
ls.MatrixModel.showMatrix= ko.pureComputed(function () {
var self = ls.MatrixModel;
if (self.versievorm() != 2) return 'AlleRijen';
if (self.selectedOrg().soort != 4) return 'AlleRijen';
if (self.inzage() == 256) return 'AlleRijen';
if (self.inzage() < 256) return 'GemiddeldeVanInd';
if (self.inzage() > 256) return 'EigenEnGemiddelde';
return '';
});
}
; // else
}// function initMatrixModel
});
+464
View File
@@ -0,0 +1,464 @@
$(function(){
ls.initMenuModel = function(){
function fAddMenuitem(p){
var dit = this;
this.id = p.id;
this.naam = p.naam;
this.paginanaam = p.paginanaam;
this.holdernaam = p.holdernaam;
this.gekozen = ko.observable(false);
this.subpaginas = ko.observableArray([]);
if(p.holdernaam === "sophoofd"){
$.each(p.subpaginas, function(i,s){
dit.subpaginas.push(new fAddSubpagina(s));
})
}
}
function fAddSubpagina(s){
this.id = s.id;
this.naam = s.naam;
this.paginanaam = s.paginanaam;
this.holdernaam = s.holdernaam;
this.volgorde = s.volgorde;
this.subgekozen = ko.observable(false);
}
function fAddOrg(p){
this.id = p.id;
this.brin = p.brin;
this.naamkort = p.naamkort;
this.naam = p.naam;
this.valtonderid = p.valtonder_id;
}
function fAddHandleiding(p){
this.id = p.id;
this.schermnaam = p.schermnaam;
this.documentnaam = p.documentnaam;
this.nummer = p.nummer;
}
var module = 0;
var vandaag = new Date();
function fAddSchool(p){
this.id = p.id;
this.brin = p.brin;
this.naamkort = p.naamkort;
this.naam = p.naam;
this.shownaam = p.brin + ' - ' + p.naamkort;
}
function fAddSchooljaar(p){
this.schooljaarnr = p.schooljaarnr;
this.naam = p.naam;
this.start = p.start;
this.eind = p.eind;
}
if (ls.MenuModel !== undefined){
ls.MenuModel.initModel();
}
else {
ls.MenuModel = {
menuitems : ko.observableArray([]),
user : ko.observable(),
organisatie : ko.observable(),
selectedOrganisatie : ko.observable(),
newvoornaam : ko.observable(),
newtussenvoegsel : ko.observable(),
newachternaam : ko.observable(),
newemail : ko.observable(),
newwachtwoord1 : ko.observable(''),
newwachtwoord2 : ko.observable(''),
zout : ko.observable(),
zoekstring : ko.observable(''),
alleorganisaties : ko.observableArray([]),
handleidingen : ko.observableArray([]),
module : ko.observable(0),
modulenaam : ko.observable('Instrumenten'),
boolSchool : ko.observable(false),
scholen : ko.observableArray([]),
selectedSchool : ko.observable(),
filternaam : ko.observable(''),
schooljaren : ko.observableArray([]),
selectedSchooljaar : ko.observable(),
toonScholen : ko.observable(true),
logo : ko.observable("monpas.png"),
initModel : function(){
var self = ls.MenuModel;
self.menuitems.removeAll();
$.post("index.php/shared/menu/get_menu",function(data){
self.menuitems.removeAll();
if (data.menu){
$.each(data.menu, function(i,p){
self.menuitems.push(new fAddMenuitem(p));
}); // foreach
if (self.menuitems()[0]){
self.menuitems()[0].gekozen(true);
}
self.user(data.user);
self.organisatie(data.organisatie);
self.module(data.module);
if(self.module() == 90 || self.module() == 610 ) self.logo("logokokoklein.png")
};
self.modulenaam(data.modulenaam);
$.post("index.php/shared/organisaties/getscholenvoormenu/" + self.module(), function(result){
if (result){
self.boolSchool(result.school);
self.scholen.removeAll();
self.selectedSchool(null);
$.each(result.scholen,function(i,p){
self.scholen.push(new fAddSchool(p));
}); // each
self.scholen.sort(function(left,right){
return left.naamkort == right.naamkort ? 0 : (left.naamkort < right.naamkort ? -1 : 1)
});
self.selectedSchool(self.scholen()[0]);
}; // if result
$.post("index.php/shared/schooljaren/getschooljaren", function(result){
self.schooljaren.removeAll();
if (result){
$.each(result, function(i,p){
self.schooljaren.push(new fAddSchooljaar(p));
}); // each
$.each(self.schooljaren(), function(j,k){
if (vandaag >= new Date(k.start+"T00:00:00") &&
vandaag <= new Date(k.eind+"T00:00:00") ){
self.selectedSchooljaar(k);
return false;
}; //if
}); // each
}
// self.fChangeSchooljaar();
self.toonScholen(true);
self.fGetPagina(self.menuitems()[0].holdernaam);
if (self.module() === 0) ls.initPortalModel();
},'json');
},'json');
},'json');
},
filter: function(scholen, filternaam){
return scholen().filter(function(school){
return ( filternaam() === '' ||
(school.naamkort).toUpperCase() === (filternaam()).toUpperCase() ||
(school.naamkort).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1 ||
(school.naam).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1
);
});
},
filterorg: function(alleorganisaties, zoekstring){
return alleorganisaties().filter(function(organisatie){
return ( zoekstring() === '' ||
(organisatie.naamkort).toUpperCase() === (zoekstring()).toUpperCase() ||
(organisatie.naamkort).toUpperCase().indexOf((zoekstring()).toUpperCase() ) > -1 ||
(organisatie.brin).toUpperCase().indexOf((zoekstring()).toUpperCase() ) > -1
);
});
},
fChangeSchool : function(){
var self = ls.MenuModel;
var id = null;
var module = self.module();
if (self.selectedSchool()) {
id = self.selectedSchool().id;
}
$.post("index.php/monpas/modulebalk/setselectedschool/" + id, function(result){
if(result){
if (ls.ColofonModel !== undefined) {ls.ColofonModel.initModel();}
if (ls.GroepenModel !== undefined) {ls.GroepenModel.initModel(module);}
if (ls.DiversiteitModel !== undefined) {ls.DiversiteitModel.initModel(module);}
if (mh.DiversiteitSOModel !== undefined) {mh.DiversiteitSOModel.initModel();}
if(ls.OndersteuningModel !== undefined) {ls.OndersteuningModel.initModel(module);}
// self.selectedSchool('');
}
}, 'json');
},
fChangeSchooljaar: function(){
var self = ls.MenuModel;
var nr = null;
var module = self.module();
if (self.selectedSchooljaar()) {nr = self.selectedSchooljaar().schooljaarnr};
$.post("index.php/monpas/modulebalk/setselectedschooljaar/" + nr, function(result){
if(result) {
if (ls.GroepenModel !== undefined) {
ls.GroepenModel.initModel(module);
}
if (ls.DiversiteitModel !== undefined) {
ls.DiversiteitModel.initModel(module);
}
if (ls.OndersteuningModel !== undefined) {
ls.OndersteuningModel.initModel(module);
}
if (ls.MonDivModel !== undefined) {
if (ls.MonDivModel.selectedCriterium() !== undefined) {
ls.MonDivModel.fHaalOverzichtenOp(nr, module);
}
else {
ls.MonDivModel.initModel(module);
}
}
if (mh.DiversiteitSOModel !== undefined) {
mh.DiversiteitSOModel.initModel();
}
if (mh.GroepensoModel !== undefined) {
mh.GroepensoModel.initModel();
}
if (mh.OndersteuningSOModel !== undefined) {
mh.OndersteuningSOModel.initModel();
}
if (mh.MonDivSOModel !== undefined) {
mh.MonDivSOModel.initModel();
}
}
}, 'json');
},
fSetMenu: function(){
var self=ls.MenuModel;
var that = this;
self.toonScholen(true);
if (this.gekozen() ) return;
$.each(self.menuitems(), function(i,p){
p.gekozen(false);
});
that.gekozen(true);
if(that.holdernaam === "monitordiversiteit" || that.holdernaam === "monitordiversiteitso" ){
self.toonScholen(false);
}
self.fGetPagina(that.holdernaam);
},
fSetSubmenu: function(){
var self=ls.MenuModel;
var that = this;
self.toonScholen(true);
$.each(self.menuitems(), function (i, m){
m.gekozen(false);
$.each(m.subpaginas(), function (x, s){
s.subgekozen(false);
if(that.id === s.id){
s.subgekozen(true);
m.gekozen(true);
}
});
});
this.subgekozen(true);
self.fGetPagina(that.holdernaam);
},
fUitloggen: function(){
$.post("index.php/login/logout",function(){
location.reload();
});
},
fGetPagina: function(menunaam){
var self = ls.MenuModel;
var dit = this;
var module = self.module();
$('.mainpagina').fadeOut();
switch (menunaam){
case "portal" : if (self.module() != 0)
{
$.post("index.php/shared/portal/naarmodule/0" , function(){
location.reload();
});
}
else{
$('#pag'+ menunaam).fadeIn(500);
}
return;
break;
case "home" : ls.initHomeModel();
break;
case "ijkpunten" : ls.initIJkpuntenModel();
break;
case "overzichtscores" : ls.initOverzichtScoresModel();
break;
case "ontwikkel" : ls.initOntwikkelModel();
break;
case "ontwikkel2" : ls.initOntwikkelModel2();
break;
case "monitor" : ls.initMonitorModel();
break;
case "beheer" : ls.initBeheerModel();
break;
case "berichtbeheer" : mh.initBerichtBeheerModel();
break;
case "functies" : ls.initFunctiesModel();
break;
case "invullenextra" : mh.initInvulModel()
break;
case "omvangextra" : mh.initOmvangModel();
break;
case "streefcijfers" : ls.initStreefcijfersModel();
break;
case "accounts" : ls.initAccountsModel();
break;
case "sortering" : mh.initSorteringModel();
break;
case "matrix" : ls.initMatrixModel();
break;
case "schoolgegevens" : ls.initColofonModel();
break;
case "groepen" : ls.initGroepenModel(module);
break;
case "groepenso" : mh.initGroepensoModel();
break;
case "ondersteuning" : ls.initOndersteuningModel(module);
break;
case "ondersteuningso" : mh.initOndersteuningSOModel();
break;
case "diversiteit" : ls.initDiversiteitModel(module);
break;
case "diversiteitso" : mh.initDiversiteitSOModel();
break;
case "monitordiversiteit": ls.initMonDivModel(module);
break;
case "monitordiversiteitso": mh.initMonDivSOModel(module);
break;
case "sophoofd" : mh.initSopModel();
break;
case "compactsop" : mh.initCompactSopModel();
break;
case "standaardsop" : ls.initStandaardSopModel();
break;
case "flexibelsop" : ls.initFlexibelSopModel();
break;
case "sopoverzicht" : mh.initSopOverzichtModel();
break;
case "lijsten" : ls.initLijstenModel();
break;
case "berichten" : mh.initBerichtenModel(0);
break;
case "monfinbeheer" : ls.initMonfinBeheerModel();
break;
case "monfinoverzicht" : ls.initMonfinOverzichtModel();
break;
case "monfinbestedingen": ls.initBestedingenModel();
break;
case "monfinbestemmingen2": ls.initBestemmingenModel();
break;
case "monfinoverzicht2" : ls.initMonfinOverzicht2Model();
break;
case "monfinbeheer2" : ls.initMonfinBeheer2Model();//oude beheer model kan wordengebruikt
break;
case "inspectiematrix" : ls.initInspectiematrixModel();
break;
case "filefolders" : ls.initFileFoldersModel(self.module());
break;
}
$('#pag'+ menunaam).fadeIn(500);
},
fChangeUserDetails: function(){
var self =ls.MenuModel;
$.post("index.php/shared/users/getuserdetail", function(data){
if (data){
self.newvoornaam(data.voornaam);
self.newtussenvoegsel(data.tussenvoegsel);
self.newachternaam(data.achternaam);
self.newemail(data.email);
self.zout(data.zout);
$("#modUserdetails").modal("show");
}
},'json');
},
fSaveUserDetails: function(){
self=ls.MenuModel;
if (self.newwachtwoord1() !== self.newwachtwoord2()){
apprise("Wachtwoorden zijn niet identiek.");
return;
}
else if (self.newwachtwoord1() !== undefined && self.newwachtwoord1().length > 0 && self.newwachtwoord1().length < 4){
apprise("Wachtwoord moet minimaal 4 tekens lang zijn.")
return;
}
else if (self.newachternaam().length < 2){
apprise("Achternaam moet minimaal 2 tekens lang zijn.");
}
else{
if (self.newwachtwoord1().length >= 4){
var saltedChallenge =hex_md5(self.zout() + self.newwachtwoord1());
}
else var saltedChallenge = '';
var submitData={ voornaam: self.newvoornaam(),
tussenvoegsel: self.newtussenvoegsel(),
achternaam: self.newachternaam(),
email : self.newemail,
wachtwoord: saltedChallenge};
$.post("index.php/shared/users/updateuser", submitData,function(result){
if (result){
self.user(result);
$("#modUserdetails").modal("hide");
ls.MsgAutoFade(1000,"Gegevens zijn aangepast");
}
},'json');
}
},
fChangeOrganisatie:function(){
var self=ls.MenuModel;
self.alleorganisaties.removeAll();
$.post('index.php/shared/organisaties/getallowedorgs', function(result){
if (result){
$.each(result, function(i,p) {
self.alleorganisaties.push(new fAddOrg(p));
});
$("#modSelectGlobOrg").modal("show");
}
},'json');
},
fSetGlobOrg: function(){
var self=ls.MenuModel;
$.post("index.php/shared/organisaties/setgloborg/" + self.selectedOrganisatie().id,function(result){
$("#modSelectGlobOrg").modal("hide");
location.reload();
},'json');
},
fToonHandleiding: function(){
var self = ls.MenuModel;
$.post("index.php/shared/menu/gethandleidingen" , function(results){
self.handleidingen.removeAll();
if (results){
$.each(results, function(i,p){
self.handleidingen.push(new fAddHandleiding(p));
});
$("#modDocumenten").modal("show");
}
},'json');
},
fDownloadDocument: function(){
var self = ls.MenuModel;
submitURL = "index.php/shared/menu/downloadhandleiding/" + this.id;
window.open(submitURL);
$("#modDocumenten").modal("hide");
}
} ; // definition van model
ls.MenuModel.initModel();
ko.applyBindings(ls.MenuModel, document.getElementById("menubalk"));
} // else
}// function initMenuModel
});
+133
View File
@@ -0,0 +1,133 @@
$(function(){
ls.initModulebalkModel = function(){
var module = 0;
var vandaag = new Date();
function fAddSchool(p){
this.id = p.id
this.brin = p.brin;
this.naamkort = p.naamkort;
this.naam = p.naam;
this.shownaam = p.brin + ' - ' + p.naamkort;
}
function fAddSchooljaar(p){
this.schooljaarnr = p.schooljaarnr;
this.naam = p.naam;
this.start = p.start;
this.eind = p.eind;
}
if (ls.ModulebalkModel !== undefined){
ls.ModulebalkModel.initModel();
}
else {
ls.ModulebalkModel = {
boolSchool : ko.observable(false),
toonbalk : ko.observable(false),
scholen : ko.observableArray([]),
soscholen : ko.observableArray([]),
selectedSchool : ko.observable(),
filternaam : ko.observable(''),
module : ko.observable(),
schooljaren : ko.observableArray([]),
selectedSchooljaar : ko.observableArray([]),
initBindings :function(){
var self = ls.ModulebalkModel;
if (!ko.dataFor(document.getElementById('modulebalk')) ) {
ko.applyBindings(ls.ModulebalkModel, document.getElementById("modulebalk"));
}
$.post("index.php/shared/menu/getmodule", function(data) {
if (data) {
self.module(data);
if (self.module() == '2' || self.module() == '270' || self.module() == '660') {
self.toonbalk(true);
}
$.post("index.php/shared/organisaties/getscholenvoormenu/" + module, function (result) {
if (result) {
self.boolSchool(result.school);
self.scholen.removeAll();
self.selectedSchool(null);
$.each(result.scholen, function (i, p) {
self.scholen.push(new fAddSchool(p));
}); // each
self.scholen.sort(function (left, right) {
return left.naamkort == right.naamkort ? 0 : (left.naamkort < right.naamkort ? -1 : 1)
});
self.selectedSchooljaar(self.scholen()[0]);
}
; // if result
$.post("index.php/shared/schooljaren/getschooljaren", function (result) {
self.schooljaren.removeAll();
if (result) {
$.each(result, function (i, p) {
self.schooljaren.push(new fAddSchooljaar(p));
}); // each
$.each(self.schooljaren(), function (j, k) {
if (vandaag >= new Date(k.start + "T00:00:00") &&
vandaag <= new Date(k.eind + "T00:00:00")) {
self.selectedSchooljaar(k);
return false;
}
; //if
}); // each
}
}, 'json');
self.initModel();
}, 'json');
}
},'json');
},
filter: function(scholen, filternaam){
return scholen().filter(function(school){
return ( filternaam() == '' ||
(school.naamkort).toUpperCase() == (filternaam()).toUpperCase() ||
(school.naamkort).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1 ||
(school.naam).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1
);
});
},
initModel: function(){
},
fChangeSchool : function(){
var self = ls.ModulebalkModel;
var id = null
if (self.selectedSchool()) id = self.selectedSchool().id;
$.post("index.php/monpas/modulebalk/setselectedschool/" + id, function(){
if (ls.ColofonModel != undefined) {ls.ColofonModel.initModel();}
if (ls.GroepenModel != undefined) {ls.GroepenModel.initModel(self.module());}
if (ls.DiversiteitModel != undefined) {ls.DiversiteitModel.initModel(self.module());}
});
},
fChangeSchooljaar: function(){
var self = ls.ModulebalkModel;
var nr = null;
if (self.selectedSchooljaar()) nr = self.selectedSchooljaar().schooljaarnr;
$.post("index.php/monpas/modulebalk/setselectedschooljaar/" + nr, function(){
if (ls.GroepenModel != undefined) {
ls.GroepenModel.initModel(self.module());}
if (ls.DiversiteitModel != undefined) {ls.DiversiteitModel.initModel(self.module());}
});
}
} ; // definition van model
ls.ModulebalkModel.initBindings();
}; // else
}// function initModulebalkModel
});
@@ -0,0 +1,538 @@
$(function(){
ls.initDiversiteitModel = function(module){
function fAddGroep(p){
var dit = this;
this.id = p.id;
this.naam = p.naam;
this.niveau = p.niveau;
this.factor = ls.DiversiteitModel.normaantallen()[1];
if (this.niveau.indexOf('1') >= 0 || this.niveau.indexOf('2') >=0) { this.factor = ls.DiversiteitModel.normaantallen()[0]; }
this.totaantal = p.totaantal;
this.som2 = p.som2;
this.som3 = p.som3;
this.som4 = p.som4
this.som1 = p.totaantal - p.som2 - p.som3 - p.som4;
this.diversiteit = this.som1 + (1.5 * p.som2) + (2 * p.som3) + (4 * p.som4) ;
if (this.totaantal > 0) {
if (p.combi === 2) this.diversiteit = this.diversiteit + parseFloat(ls.DiversiteitModel.combifactor2());
if (p.combi >= 3) this.diversiteit = this.diversiteit + parseFloat(ls.DiversiteitModel.combifactor3());
}
this.combi = p.combi; // voor school moet straks ook gekeken worden of er bij een groep een combifactor is gebruikt
this.DQ = Math.round((this.diversiteit /this.factor) * 100) / 100;
this.tijden = ko.observableArray([]);
if (p.tijden){
$.each(p.tijden, function(j,tijd){
dit.tijden.push(new fAddTijd(tijd));
}); //each
}; // if p.tijden
this.tottijdInt = ko.computed(function(){
var totmin = 0;
$.each(this.tijden(), function(b,tijd){
totmin = totmin + parseInt(tijd.totminuten);
}); // each
return totmin;
},this);
this.tottijd = ko.computed(function(){
var tijdstring = "00:00 uur"
var totmin = 0;
$.each(this.tijden(), function(b,tijd){
totmin = totmin + parseInt(tijd.totminuten);
}); // each
var minuten = totmin % 60;
var uur = (totmin - minuten) / 60;
// tijdstring = ('0' + uur).slice(-2) + ":" + ('0' + minuten).slice(-2) + ' uur';
tijdstring = uur + ":" + ('0' + minuten).slice(-2) + ' uur';
return tijdstring;
},this);
}
function fAddOndersteuningsvorm(p){
var dit = this;
this.naam = p.naam;
this.nivo = p.nivo;
this.vormtotaal = p.vormtotaal
this.groepsaantallen = ko.observableArray([]);
if (p.groepsaantallen){
$.each(p.groepsaantallen, function(j,k){
dit.groepsaantallen.push(new fAddAantal(k));
})
}
}
function fAddAantal(p){
this.groepid = p.groep_id;
this.aantal = p.aantal;
}
function fAddTijd(p){
this.dagnr = p.dagnr
this.soort = p.soort;
this.totminuten = p.minuten;
this.minuten = p.minuten % 60;
this.uur = (p.minuten - this.minuten)/60;
this.tijdstring = p.soort + ': ' + this.uur + ":" + ('0' + this.minuten).slice(-2) ; // + ' uur';
}
if (ls.DiversiteitModel !== undefined){
ls.DiversiteitModel.initModel(module);
}
else {
ls.DiversiteitModel = {
groepen : ko.observableArray([]),
schoolid : ko.observable(),
schooltotaal : ko.observable(0),
schoolsom1 : ko.observable(0),
schoolsom2 : ko.observable(0),
schoolsom3 : ko.observable(0),
schoolsom4 : ko.observable(0),
schooldiversiteit : ko.observable(0),
schoolDQ : ko.observable(0),
ondersteuningsvormen: ko.observableArray([]),
lijnAt : ko.observable(137),
BC6 : null,
groepstijden : ko.observableArray([]),
schoolTijd : ko.observable(0),
schoolTijdstring : ko.observable(''),
totGstring : ko.observable(''),
totSstring : ko.observable(''),
totIstring : ko.observable(''),
normaantallen : ko.observableArray([22,24]),
combifactor2 : ko.observable(1.5),
combifactor3 : ko.observable(2.5),
addtoschool : ko.observable(false),
module : ko.observable(),
initBindings :function(){
var self = ls.DiversiteitModel;
if (!ko.dataFor(document.getElementById('pagdiversiteit')) ) {
ko.applyBindings(ls.DiversiteitModel, document.getElementById("pagdiversiteit"));
}
self.initModel(module);
},
initModel: function(module){
var self = ls.DiversiteitModel;
var gewogensom = 0;
var totG = 0;
var totS = 0;
var totI = 0;
self.schoolid(ls.MenuModel.selectedSchool().id);
self.module(module);
var schooltype = 'REGULIER';
$.post("index.php/monpas/diversiteit/getnormaantallen/" + self.schoolid() + "/" + schooltype, function(result){
if (result.normaantallen){
self.normaantallen([]);
self.normaantallen.push(result.normaantallen.groep12);
self.normaantallen.push(result.normaantallen.groep38);
}
else {self.normaantallen([22,24]); };
if (result.combifactoren){
self.combifactor2(result.combifactoren.combi2);
self.combifactor3(result.combifactoren.combi3);
if (result.combifactoren.addtoschool=="T"){
self.addtoschool(true);
}else{
self.addtoschool(false);
}
}
else {
self.combifactor2(1.5);
self.combifactor3(2.5);
self.addtoschool(false);
}
var submitData = {
'orgID': self.schoolid(),
'schooljaar': ls.MenuModel.selectedSchooljaar().schooljaarnr,
'module': self.module()
}
$.post("index.php/monpas/diversiteit/getgroepen", submitData , function(data){
self.groepen.removeAll();
self.schooltotaal(0);
self.schoolsom1(0);
self.schoolsom2(0);
self.schoolsom3(0);
self.schoolsom4(0);
self.schooldiversiteit(0);
self.schoolDQ(0);
self.schoolTijd(0);
self.ondersteuningsvormen.removeAll();
if (data){
$.each(data, function(i,p){
self.groepen.push(new fAddGroep(p));
});//each
var combiwaarde = 0;
$.each(self.groepen(), function(i,p){
self.schooltotaal(self.schooltotaal() + parseInt(p.totaantal));
self.schoolsom1(self.schoolsom1() + parseInt(p.som1));
self.schoolsom2(self.schoolsom2() + parseInt(p.som2));
self.schoolsom3(self.schoolsom3() + parseInt(p.som3));
self.schoolsom4(self.schoolsom4() + parseInt(p.som4));
combiwaarde =0;
// if (self.addtoschool()){
self.combifactor2(result.combifactoren.combi2);
self.combifactor3(result.combifactoren.combi3);
if (p.combi=== 2) combiwaarde = self.combifactor2();
if (p.combi >= 3) combiwaarde = self.combifactor3();
// }
self.schooldiversiteit(self.schooldiversiteit() + parseFloat(p.som1) + (parseFloat(p.som2) *1.5) + (parseFloat(p.som3) * 2) + (parseFloat(p.som4) *4) + parseFloat(combiwaarde));
self.schoolTijd (parseInt(self.schoolTijd()) + parseInt(p.tottijdInt()));
gewogensom = gewogensom + parseInt(p.factor);
if (p.tijden){
$.each(p.tijden(), function(c,tijd){
switch (tijd.soort){
case "G" : totG = parseInt(totG) + parseInt(tijd.totminuten); break;
case "S" : totS = parseInt(totS) + parseInt(tijd.totminuten); break;
case "I" : totI = parseInt(totI) + parseInt(tijd.totminuten); break;
}
}); // each
}; // if p.tijden
}); // each
self.schoolDQ(Math.round((self.schooldiversiteit() / gewogensom) * 100 ) / 100);
var minuten = self.schoolTijd() % 60;
var uur = (self.schoolTijd() - minuten) / 60;
self.schoolTijdstring( uur+ ":" + ('0' + minuten).slice(-2) + ' uur');
minuten =totG % 60;
uur = (totG - minuten)/ 60;
self.totGstring ( uur+ ":" + ('0' + minuten).slice(-2) + ' uur');
minuten =totS % 60;
uur = (totS - minuten)/ 60;
self.totSstring( uur + ":" + ('0' + minuten).slice(-2) + ' uur');
minuten =totI % 60;
uur = (totI - minuten)/ 60;
self.totIstring( uur + ":" + ('0' + minuten).slice(-2) + ' uur');
var submitData={
'orgid' : self.schoolid(),
'schooljaarnr' : ls.MenuModel.selectedSchooljaar().schooljaarnr,
'module': self.module(),
'minnivo' : 2,
'maxnivo' : 4
}
$.post("index.php/monpas/diversiteit/getondersteuningsvormen/",submitData, function(data){
self.ondersteuningsvormen.removeAll();
if (data){
$.each(data, function(j,k){
self.ondersteuningsvormen.push(new fAddOndersteuningsvorm(k));
});//each
}; // if data
self.fFillGraph();
},'json');
}; // if data
},'json');
},'json'); // get aantallen
},
fFillGraph: function(){
var self = ls.DiversiteitModel;
var scores =[];
var slabels =[];
var counter = 0;
// var aantalgroepen = self.groepen().length + 1;
// var bartussenruimte = (580 - (80 * aantalgroepen))/aantalgroepen ;
// if (bartussenruimte <=0 ) bartussenruimte = 4;
bartussenruimte = 5;
$.each(self.groepen(), function(i,p){
scores[i] = p.DQ;
slabels[i] = p.naam;
counter = counter + 1;
});
slabels[counter]='school';
scores[counter]=self.schoolDQ();
if (self.BC6 ) {self.BC6.destroy(); }
$("#cdiversiteit").remove();
var canv = document.createElement('canvas');
canv.id = 'cdiversiteit';
canv.width = 580;
canv.height = 285;
document.getElementById('diversiteitcanvasholder').appendChild(canv);
var ctxDiversiteit=$("#cdiversiteit").get(0).getContext("2d");
var data6 = {labels :slabels,
datasets: [{fillColor: "rgba(147,15,80,0.9)",
strokeColor: "rgba(111,11,61,1)",
highlightStroke: "rgba(222,22,123,1)",
data: scores},
]}
Chart.types.Bar.extend({
name: "LineAlt",
initialize: function () {
Chart.types.Bar.prototype.initialize.apply(this, arguments);
},
draw: function () {
Chart.types.Bar.prototype.draw.apply(this, arguments);
// this.chart.ctx.beginPath();
// this.chart.ctx.moveTo(30,137);
// this.chart.ctx.lineTo(580, 137);
// this.chart.ctx.stroke();
// this.chart.ctx.closePath();
}
});
self.BC6 = new Chart(ctxDiversiteit).LineAlt(data6,{
animation:false,
scaleFontFamily: "'lato','Arial'",
scaleColor:"rgba(0,0,0,1)",
scaleShowGridLines:true,
scaleLineColor:"rgba(0,0,0,1)",
scaleOverride: true,
scaleBeginAtZero :true,
scaleSteps: 25,
scaleStepWidth: 0.2,
scaleStartValue: 0 ,
barValueSpacing: bartussenruimte,
barStrokeWidth:1,
barDatasetSpacing:2,
toottipFontFamily:"'lato','Arial'",
showTooltips : true,
tooltipTemplate: "<%= label %> : <%= value %>"
});
},
fPrintDiversiteitBar :function(){
var self = ls.DiversiteitModel;
var base64 = self.BC6.toBase64Image();
var data = { 'orgid' : self.schoolid(),
'schooljaarnr': ls.MenuModel.selectedSchooljaar().schooljaarnr,
'image' : base64};
data=JSON.stringify(data);
var $form = $("<form method='post' action='index.php/monpas/diversiteit/pdfdiversiteitbar' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
},
fPrintLeerlingaantallen: function(){
var self =ls.DiversiteitModel;
var schoolid = self.schoolid();
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
var submiturl="index.php/monpas/diversiteit/printaantallen/" + schoolid + '/' + schooljaarnr;
window.open(submiturl);
},
fPrintQuotienten: function(){
var self=ls.DiversiteitModel;
var schoolid = self.schoolid();
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
var quot= [];
if (self.groepen){
$.each(self.groepen(), function(i,p){
quot.push({'groep': p.naam, 'quotient': p.DQ});
})
}
quot.push({'groep': 'school', 'quotient': self.schoolDQ()});
var data={'orgid' : schoolid,
"schooljaarnr" : schooljaarnr,
"groepen" : quot }
var submitUrl = "index.php/monpas/diversiteit/printquotienten/?json=" + JSON.stringify(data);
window.open(submitUrl);
},
fPrintOndersteuningsmatrix :function(){
var self = ls.DiversiteitModel;
var groeparray=[];
if (self.groepen()){
$.each(self.groepen(), function(i,groep){
groeparray[i]={groep : groep.naam,
DQ : groep.DQ,
tottijd : groep.tottijd(),
tijden : groep.tijden()};
});
}
var schoolid = self.schoolid();
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
var data={ 'orgid' : schoolid,
"schooljaarnr" : schooljaarnr,
"groepen" : groeparray,
"schoolDQ" : self.schoolDQ(),
"schooltot" : self.schoolTijdstring() }
var submitUrl = "index.php/monpas/diversiteit/printondersteuningsmatrix/?json=" + JSON.stringify(data);
window.open(submitUrl);
},
fPrintOndersteuningstotalen: function(){
var self= ls.DiversiteitModel;
var schoolid = self.schoolid();
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
var tots = [self.totGstring(), self.totSstring(), self.totIstring()];
var data={'orgid' : schoolid,
"schooljaarnr" : schooljaarnr,
"totalen" : tots }
var submitUrl = "index.php/monpas/diversiteit/printtotaaltijden/?json=" + JSON.stringify(data);
window.open(submitUrl);
},
fPrintDiversiteitMatrix: function(){
var self=ls.DiversiteitModel;
var schoolid = self.schoolid();
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
var regels1 = [];
var kolommen = [];
kolommen[0]=' ';
var i = 1;
for (i=1; i<=self.groepen().length; i++){
kolommen.push(self.groepen()[i-1].naam);
}
kolommen.push( "Schooltotaal");
regels1.push(kolommen);
kolommen = [];
kolommen[0]="Totaal aantal leerlingen";
for (i=1; i<=self.groepen().length; i++){
kolommen.push(self.groepen()[i-1].totaantal);
}
kolommen.push( self.schooltotaal());
regels1.push(kolommen);
kolommen=[];
kolommen[0]="Uitsplitsing onderwijsvraag per groep";
regels1.push(kolommen);
kolommen=[];
kolommen[0]="Basisondersteuning";
regels1.push(kolommen);
kolommen=[];
kolommen[0] = "Totaal";
for (i=1; i<=self.groepen().length; i++){
kolommen.push(self.groepen()[i-1].som1);
}
kolommen.push( self.schoolsom1());
regels1.push(kolommen);
regels2=[];
kolommen=[]
kolommen[0]="Basisondersteuning-plus";
regels2.push(kolommen);
$.each(self.ondersteuningsvormen(), function(j, vorm){
if (vorm.nivo == 2){
kolommen=[]
kolommen[0]=vorm.naam;
$.each(vorm.groepsaantallen(), function(k,aantal){
kolommen.push(aantal.aantal);
}); // each aantallen
kolommen.push(vorm.vormtotaal);
regels2.push(kolommen);
}
});// each ondersteuningsvormen
kolommen=[];
kolommen[0]="Totaal";
$.each(self.groepen(), function(c, groep){
kolommen.push(groep.som2);
});// foreach groepen
kolommen.push(self.schoolsom2());
regels2.push(kolommen);
regels3=[];
kolommen=[]
kolommen[0]="Extra ondersteuning";
regels3.push(kolommen);
$.each(self.ondersteuningsvormen(), function(j, vorm){
if (vorm.nivo == 3){
kolommen=[]
kolommen[0]=vorm.naam;
$.each(vorm.groepsaantallen(), function(k,aantal){
kolommen.push(aantal.aantal);
}); // each aantallen
kolommen.push(vorm.vormtotaal);
regels3.push(kolommen);
}
});// each ondersteuningsvormen
kolommen=[];
kolommen[0]="Totaal";
$.each(self.groepen(), function(c, groep){
kolommen.push(groep.som3);
});// foreach groepen
kolommen.push(self.schoolsom3());
regels3.push(kolommen);
regels4=[];
kolommen=[]
kolommen[0]="Extra ondersteuning-plus";
regels4.push(kolommen);
$.each(self.ondersteuningsvormen(), function(j, vorm){
if (vorm.nivo == 4){
kolommen=[]
kolommen[0]=vorm.naam;
$.each(vorm.groepsaantallen(), function(k,aantal){
kolommen.push(aantal.aantal);
}); // each aantallen
kolommen.push(vorm.vormtotaal);
regels4.push(kolommen);
}
});// each ondersteuningsvormen
kolommen=[];
kolommen[0]="Totaal";
$.each(self.groepen(), function(c, groep){
kolommen.push(groep.som4);
});// foreach groepen
kolommen.push(self.schoolsom4());
regels4.push(kolommen);
regels5=[];
kolommen=[]
kolommen[0]="Totale diversiteit per groep";
$.each(self.groepen(), function(j, groep){
kolommen.push(groep.diversiteit);
});// each ondersteuningsvormen
kolommen.push(self.schooldiversiteit());
regels5.push(kolommen);
kolommen=[];
kolommen[0]="DQ's";
$.each(self.groepen(), function(c, groep){
kolommen.push(groep.DQ);
});// foreach groepen
kolommen.push(self.schoolDQ());
regels5.push(kolommen);
var data={ 'orgid' : schoolid,
'schooljaarnr' : schooljaarnr,
'regels1' : regels1,
'regels2' : regels2,
'regels3' : regels3,
'regels4' : regels4,
'regels5' : regels5}
data=JSON.stringify(data);
var $form = $("<form method='post' action='index.php/monpas/diversiteit/printdiversiteitmatrix' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
}
} ; // definition van model
ls.DiversiteitModel.initBindings();
}; // else
}// function initDiversiteitModel
});
@@ -0,0 +1,450 @@
$(function(){
mh.initDiversiteitSOModel = function(){
function fAddGroep(p){
var dit = this;
this.id = p.id;
this.naam = p.naam;
this.leerjaar = p.niveau;
this.factorsbo = mh.DiversiteitSOModel.normaantallensbo()[1];
if (this.leerjaar.indexOf('1') >= 0 || this.leerjaar.indexOf('2') >=0) {this.factorsbo = mh.DiversiteitSOModel.normaantallensbo()[0]; }
this.factorso = mh.DiversiteitSOModel.normaantallenso()[1];
if (this.leerjaar.indexOf('1') >= 0 || this.leerjaar.indexOf('2') >=0) {this.factorso = mh.DiversiteitSOModel.normaantallenso()[0]; }
this.totaantal = p.totaantal;
this.som5 = p.som5;
this.som6 = p.som6;
this.som7 = p.som7;
this.som8 = p.som8;
this.factor = 0;
if(p.totaantal > 0) {
this.factor = parseFloat((p.som5 / p.totaantal) * this.factorsbo) + (parseFloat(parseFloat(p.totaantal - p.som5) / p.totaantal) * this.factorso);
}
this.diversiteit = (2 * p.som5) + (3 * p.som6) + (4 * p.som7) + (5 * p.som8) ;
this.DQ = Math.round((this.diversiteit /this.factor) * 100) / 100;
this.tijden = ko.observableArray([]);
if (p.tijden){
$.each(p.tijden, function(j,tijd){
dit.tijden.push(new fAddTijd(tijd));
}); //each
}; // if p.tijden
this.tottijdInt = ko.computed(function(){
var totmin = 0;
$.each(this.tijden(), function(b,tijd){
totmin = totmin + parseInt(tijd.totminuten);
}); // each
return totmin;
},this);
this.tottijd = ko.computed(function(){
var tijdstring = "00:00 uur"
var totmin = 0;
$.each(this.tijden(), function(b,tijd){
totmin = totmin + parseInt(tijd.totminuten);
}); // each
var minuten = totmin % 60;
var uur = (totmin - minuten) / 60;
// tijdstring = ('0' + uur).slice(-2) + ":" + ('0' + minuten).slice(-2) + ' uur';
tijdstring = uur + ":" + ('0' + minuten).slice(-2) + ' uur';
return tijdstring;
},this);
}
function fAddOndersteuningsvorm(p){
var dit = this;
this.naam = p.naam;
this.zwaarte = p.nivo;
this.vormtotaal = p.vormtotaal
this.groepsaantallen = ko.observableArray([]);
if (p.groepsaantallen){
$.each(p.groepsaantallen, function(j,k){
dit.groepsaantallen.push(new fAddAantal(k));
})
}
}
function fAddAantal(p){
this.groepid = p.groep_id;
this.aantal = p.aantal;
}
function fAddTijd(p){
this.dagnr = p.dagnr
this.soort = p.soort;
this.totminuten = p.minuten;
this.minuten = p.minuten % 60;
this.uur = (p.minuten - this.minuten)/60;
this.tijdstring = p.soort + ': ' + this.uur + ":" + ('0' + this.minuten).slice(-2) ; // + ' uur';
}
if (mh.DiversiteitSOModel !== undefined){
mh.DiversiteitSOModel.initModel();
}
else {
mh.DiversiteitSOModel = {
groepen : ko.observableArray([]),
schoolid : ko.observable(''),
schooltotaal : ko.observable(0),
schoolsom5 : ko.observable(0),
schoolsom6 : ko.observable(0),
schoolsom7 : ko.observable(0),
schoolsom8 : ko.observable(0),
schooldiversiteit : ko.observable(0),
schoolfactor : ko.observable(0),
schoolDQ : ko.observable(0),
somDQs : ko.observable(0),
ondersteuningsvormen: ko.observableArray([]),
lijnAt : ko.observable(137),
BC6 : null,
groepstijden : ko.observableArray([]),
schoolTijd : ko.observable(0),
schoolTijdstring : ko.observable(''),
totGstring : ko.observable(''),
totSstring : ko.observable(''),
totIstring : ko.observable(''),
aantalgroepen : ko.observable(0),
normaantallensbo : ko.observableArray([22,24]),
normaantallenso : ko.observableArray([22,24]),
// combifactor2 : ko.observable(1.5),
// combifactor3 : ko.observable(2.5),
addtoschool : ko.observable(false),
toonMatrix : ko.observable(true),
initBindings :function(){
var self = mh.DiversiteitSOModel;
if (!ko.dataFor(document.getElementById('pagdiversiteitso')) ) {
ko.applyBindings(mh.DiversiteitSOModel, document.getElementById("pagdiversiteitso"));
}
self.initModel();
},
initModel: function(){
var self = mh.DiversiteitSOModel;
var somsbo = 0;
var somso =0;
var gewogensom = 0;
var totG = 0;
var totS = 0;
var totI = 0;
self.schoolid('');
self.schoolid(ls.MenuModel.selectedSchool().id);
var schooltype = 'SPECIAAL';
$.post("index.php/monpas/diversiteit/getnormaantallen/" + self.schoolid() + "/" + schooltype, function(result){
if (result.normaantallen.sbo){
self.normaantallensbo([]);
self.normaantallensbo.push(result.normaantallen.sbo.groep12);
self.normaantallensbo.push(result.normaantallen.sbo.groep38);
}
else {self.normaantallensbo([22,24]); }
if (result.normaantallen.so){
self.normaantallenso([]);
self.normaantallenso.push(result.normaantallen.so.groep12);
self.normaantallenso.push(result.normaantallen.so.groep38);
}
else {self.normaantallenso([22,24]); }
$.post("index.php/monpas/diversiteit/getgroepenso/" + self.schoolid()+ '/' + ls.MenuModel.selectedSchooljaar().schooljaarnr, function(data){
self.groepen.removeAll();
self.schooltotaal(0);
self.schoolsom5(0);
self.schoolsom6(0);
self.schoolsom7(0);
self.schoolsom8(0);
self.schooldiversiteit(0);
self.schoolfactor(0);
self.somDQs(0);
self.schoolDQ(0);
self.schoolTijd(0);
self.aantalgroepen(0);
self.ondersteuningsvormen.removeAll();
if (data){
if(data.groepen) {
$.each(data.groepen, function (i, p) {
self.groepen.push(new fAddGroep(p));
});//each
if(data.ondersteuning){
self.toonMatrix(true);
if(data.ondersteuning=== 'F'){
self.toonMatrix(false);
}
}
}
var combiwaarde = 0;
$.each(self.groepen(), function (i, p) {
self.schooltotaal(self.schooltotaal() + parseInt(p.totaantal));
self.schoolsom5(self.schoolsom5() + parseInt(p.som5));
self.schoolsom6(self.schoolsom6() + parseInt(p.som6));
self.schoolsom7(self.schoolsom7() + parseInt(p.som7));
self.schoolsom8(self.schoolsom8() + parseInt(p.som8));
self.somDQs(self.somDQs() + parseFloat(p.DQ));
self.aantalgroepen(self.aantalgroepen() + parseInt(1));
self.schoolfactor(self.schoolfactor() + parseFloat(p.factor));
self.schoolTijd(parseInt(self.schoolTijd()) + parseInt(p.tottijdInt()));
gewogensom = gewogensom + parseInt(p.factor)
if (p.tijden) {
$.each(p.tijden(), function (c, tijd) {
switch (tijd.soort) {
case "G" :
totG = parseInt(totG) + parseInt(tijd.totminuten);
break;
case "S" :
totS = parseInt(totS) + parseInt(tijd.totminuten);
break;
case "I" :
totI = parseInt(totI) + parseInt(tijd.totminuten);
break;
}
}); // each
}
; // if p.tijden
}); // each
var divsbo = self.schoolsom5()* 2;
var divso = self.schoolsom6() *3 + self.schoolsom7() * 4 + self.schoolsom8() *5;
self.schooldiversiteit(divsbo + divso);
self.schoolDQ(Math.round((self.somDQs() / self.aantalgroepen())*100)/100);
// self.schoolDQ(Math.round((self.schooldiversiteit() / gewogensom)*100)/100);
var minuten = self.schoolTijd() % 60;
var uur = (self.schoolTijd() - minuten) / 60;
self.schoolTijdstring( uur+ ":" + ('0' + minuten).slice(-2) + ' uur');
minuten =totG % 60;
uur = (totG - minuten)/ 60;
self.totGstring ( uur+ ":" + ('0' + minuten).slice(-2) + ' uur');
minuten =totS % 60;
uur = (totS - minuten)/ 60;
self.totSstring( uur + ":" + ('0' + minuten).slice(-2) + ' uur');
minuten =totI % 60;
uur = (totI - minuten)/ 60;
self.totIstring( uur + ":" + ('0' + minuten).slice(-2) + ' uur');
var submitData ={
'orgid' : self.schoolid(),
'schooljaarnr' : ls.MenuModel.selectedSchooljaar().schooljaarnr,
'minnivo' : 5,
'maxnivo' : 8
}
$.post("index.php/monpas/diversiteit/getondersteuningsvormen/", submitData, function(data){
self.ondersteuningsvormen.removeAll();
if (data) {
if (data) {
$.each(data, function (j, k) {
self.ondersteuningsvormen.push(new fAddOndersteuningsvorm(k));
});//each
}
// if data
}
self.fFillGraph();
},'json');
}; // if data
},'json');
},'json'); // get aantallen
},
fFillGraph: function(){
var self = mh.DiversiteitSOModel;
var scores =[];
var slabels =[];
var counter = 0;
// var aantalgroepen = self.groepen().length + 1;
// var bartussenruimte = (580 - (80 * aantalgroepen))/aantalgroepen ;
// if (bartussenruimte <=0 ) bartussenruimte = 4;
bartussenruimte = 5;
$.each(self.groepen(), function(i,p){
scores[i] = p.DQ;
slabels[i] = p.naam;
counter = counter + 1;
});
slabels[counter]='school';
scores[counter]=self.schoolDQ();
if (self.BC6 ) {self.BC6.destroy(); }
$("#cdiversiteitso").remove();
var canv = document.createElement('canvas');
canv.id = 'cdiversiteitso';
canv.width = 580;
canv.height = 400;
document.getElementById('diversiteitsocanvasholderso').appendChild(canv);
//var ctxDiversiteit
var ctxDiversiteit=$("#cdiversiteitso").get(0).getContext("2d");
var data7 = {labels :slabels,
datasets: [{fillColor: "rgba(147,15,80,0.9)",
strokeColor: "rgba(111,11,61,1)",
highlightStroke: "rgba(222,22,123,1)",
data: scores},
]}
Chart.types.Bar.extend({
name: "LineAlt",
initialize: function () {
Chart.types.Bar.prototype.initialize.apply(this, arguments);
},
draw: function () {
Chart.types.Bar.prototype.draw.apply(this, arguments);
this.chart.ctx.beginPath();
// 137
// this.chart.ctx.moveTo(30, 137);
// this.chart.ctx.lineTo(580, 137);
this.chart.ctx.stroke();
this.chart.ctx.closePath();
}
});
self.BC6 = new Chart(ctxDiversiteit).LineAlt(data7,{
animation:false,
scaleFontFamily: "'lato','Arial'",
scaleColor:"rgba(0,0,0,1)",
scaleShowGridLines:true,
scaleLineColor:"rgba(0,0,0,1)",
scaleOverride: true,
scaleBeginAtZero :true,
scaleSteps: 6,
scaleStepWidth: 0.5,
scaleStartValue: 0,
barValueSpacing: bartussenruimte,
barStrokeWidth:1,
barDatasetSpacing:2,
toottipFontFamily:"'lato','Arial'",
showTooltips : true,
tooltipTemplate: "<%= label %> : <%= value %>"
});
ctxDiversiteit.stroke();
},
fPrintDiversiteitBar :function(){
var self = mh.DiversiteitSOModel;
var base64 = self.BC6.toBase64Image();
var data = { 'orgid' : self.schoolid(),
'schooljaarnr': ls.MenuModel.selectedSchooljaar().schooljaarnr,
'image' : base64};
data=JSON.stringify(data);
var $form = $("<form method='post' action='index.php/monpas/diversiteit/pdfdiversiteitbar' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
},
fPrintLeerlingaantallen: function(){
var self =mh.DiversiteitSOModel;
var schoolid = self.schoolid();
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
var submiturl="index.php/monpas/diversiteit/printaantallensboso/" + schoolid + '/' + schooljaarnr;
window.open(submiturl);
},
fPrintQuotienten: function(){
var self=mh.DiversiteitSOModel;
var schoolid = self.schoolid();
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
var quot= [];
if (self.groepen){
$.each(self.groepen(), function(i,p){
quot.push({'groep': p.naam, 'quotient': p.DQ});
})
}
quot.push({'groep': 'school', 'quotient': self.schoolDQ()});
var data={'orgid' : schoolid,
"schooljaarnr" : schooljaarnr,
"groepen" : quot }
var submitUrl = "index.php/monpas/diversiteit/printquotienten/?json=" + JSON.stringify(data);
window.open(submitUrl);
},
fPrintOndersteuningsmatrix :function(){
var self = mh.DiversiteitSOModel;
var groeparray=[];
if (self.groepen()){
$.each(self.groepen(), function(i,groep){
groeparray[i]={groep : groep.naam,
DQ : groep.DQ,
tottijd : groep.tottijd(),
tijden : groep.tijden()};
});
}
var schoolid = self.schoolid();
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
var data={ 'orgid' : schoolid,
"schooljaarnr" : schooljaarnr,
"groepen" : groeparray,
"schoolDQ" : self.schoolDQ(),
"schooltot" : self.schoolTijdstring() }
var submitUrl = "index.php/monpas/diversiteit/printondersteuningsmatrix/?json=" + JSON.stringify(data);
window.open(submitUrl);
},
fPrintOndersteuningstotalen: function(){
var self= mh.DiversiteitSOModel;
var schoolid = self.schoolid();
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
var tots = [self.totGstring(), self.totSstring(), self.totIstring()];
var data={'orgid' : schoolid,
"schooljaarnr" : schooljaarnr,
"totalen" : tots }
var submitUrl = "index.php/monpas/diversiteit/printtotaaltijden/?json=" + JSON.stringify(data);
window.open(submitUrl);
},
fPrintDiversiteitMatrix: function(){
var self=mh.DiversiteitSOModel;
var schoolid = self.schoolid();
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
var groepen = self.groepen();
var leerlingaantal = self.schooltotaal();
var schoolsom5 = self.schoolsom5();
var schoolsom6 = self.schoolsom6();
var schoolsom7 = self.schoolsom7();
var schoolsom8 = self.schoolsom8();
var schooldq = self.schoolDQ();
var schooldiversiteit = self.schooldiversiteit();
var data={ 'orgid' : schoolid,
'schooljaarnr' : schooljaarnr,
'groepen' : groepen,
'leerlingaantal' : leerlingaantal,
'schoolsom5' : schoolsom5,
'schoolsom6' : schoolsom6,
'schoolsom7' : schoolsom7,
'schoolsom8' : schoolsom8,
'schooldq' : schooldq,
'schooldiversiteit' : schooldiversiteit}
data=JSON.stringify(data);
var $form = $("<form method='post' action='index.php/monpas/diversiteit/printdiversiteitmatrixsboso' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
}
} ; // definition van model
mh.DiversiteitSOModel.initBindings();
}; // else
}// function initDiversiteitModel
});
@@ -0,0 +1,529 @@
$(function(){
ls.initGroepenModel = function(module){
var timeout;
function fAddGroep(p){
this.id = p.id;
this.naam = p.naam
this.niveau = p.niveau;
this.totaantal = ko.observable(p.totaantal);
this.aantal2 = ko.observable(p.totaantal);
this.som1 = ko.observable(p.som1);
this.som2 = ko.observable(p.som2);
this.som3 = ko.observable(p.som3);
this.som4 = ko.observable(p.som4);
this.leerkrachten = ko.observableArray([]);
var dit = this;
if (p.leerkrachten){
$.each(p.leerkrachten, function(j,leerkracht){
dit.leerkrachten.push(new fAddLeerkracht(leerkracht));
})
}
}
function fAddLeerkracht(p){
this.userid = p.userid;
this.fullname = p.fullname;
this.selected = ko.observable(false);
}
function fAddEditGroep(p){
var dit = this;
this.id = p.id;
this.naam = ko.observable(p.naam);
this.orgid = p.orgid;
this.schooljaar = p.schooljaar;
this.niveau = ko.observableArray([]);
if (p.niveau){
$.each(p.niveau, function(j,k){
if (!isNaN(parseInt(k)) ){
dit.niveau.push(parseInt(k));
}
}); // each
}
this.totaantal = ko.observable(p.totaantal);
this.ondersteuningsvormen = ko.observableArray([]);
if (p.ondersteuningsvormen){
$.each(p.ondersteuningsvormen, function(j,k){
dit.ondersteuningsvormen.push(new fAddOndersteuningsvorm(k));
});
}
this.totplus = ko.computed(function(){
var som = 0;
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (y.nivo == 2 && y.aantal()){
som = som + parseInt(y.aantal());
}
});
}
return som;
});
this.totextra = ko.computed(function(){
var som = 0;
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (y.nivo == 3 && y.aantal()){
som = som + parseInt(y.aantal());
}
});
}
return som;
});
this.totextraplus = ko.computed(function(){
var som = 0;
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (y.nivo == 4 && y.aantal()){
som = som + parseInt(y.aantal());
}
});
}
return som;
});
this.basis = ko.computed(function(){
return parseInt(dit.totaantal()) - (parseInt(dit.totplus()) + dit.totextra()+dit.totextraplus());
})
this.geopend1 = ko.observable(false);
this.geopend2 = ko.observable(false);
this.geopend3 = ko.observable(false);
this.geopend4 = ko.observable(false);
this.toonLK = ko.observable(false);
this.notitie = ko.observable(p.notitie);
}
function fAddOndersteuningsvorm(k){
var dit = this;
this.id = k.id;
this.orgid = k.organisatie_id;
this.naam = ko.observable(k.naam);
this.nivo = k.nivo;
this.aantal = ko.observable(k.aantal);
}
if (ls.GroepenModel !== undefined){
ls.GroepenModel.initModel(module);
}
else {
ls.GroepenModel = {
module : ko.observable(),
label1 : ko.observable(),
label2 : ko.observable(),
label3 : ko.observable(),
label4 : ko.observable(),
label1K : ko.observable(),
label2K : ko.observable(),
label3K : ko.observable(),
label4K : ko.observable(),
schoolid : ko.observable(null),
schooljaarnr : ko.observable(null),
groepen : ko.observableArray([]),
selectedGroep : ko.observable(),
editGroep : ko.observable(),
edittekst : ko.observable(''),
leerkrachten : ko.observableArray([]),
leerjaren : ko.observableArray( [{id : 1 , nivo: 1},
{id:2, nivo: 2},
{id:3, nivo: 3},
{id:4, nivo: 4},
{id:5, nivo: 5},
{id:6, nivo: 6},
{id:7, nivo: 7},
{id:8, nivo: 8}]),
writer : ko.observable(false),
bezig : ko.observable(false),
initBindings :function(){
var self = ls.GroepenModel;
var vandaag = new Date();
if (!ko.dataFor(document.getElementById('paggroepen')) ) {
ko.applyBindings(ls.GroepenModel, document.getElementById("paggroepen"));
}
$.post("index.php/monpas/groepen/getwriter", function(writer){
self.writer(writer);
},'json');
self.initModel(module);
},
initModel: function(module){
var self = ls.GroepenModel;
self.module(module);
if (ls.MenuModel.selectedSchool()){
self.schoolid(ls.MenuModel.selectedSchool().id);
}
if (ls.MenuModel.selectedSchooljaar()){
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
}
$.post("index.php/monpas/groepen/getleerkrachten/" + self.schoolid(), function(data){
self.leerkrachten.removeAll();
if (data){
$.each(data, function(a,b){
self.leerkrachten.push(new fAddLeerkracht(b));
})
}
self.fGetLabels();
self.fGetGroepen(); // als school of schooljaar is aangepast dan groepsgegevens opnieuwe ophalen
},'json');
},
fNewGroep: function(){
var self = ls.GroepenModel;
var submitData={
schoolid : self.schoolid(),
schooljaar : self.schooljaarnr(),
minnivo : 2,
maxnivo : 4,
};
$.post("index.php/monpas/groepen/getnewgroep/" ,submitData, function(data){
if (data){
self.editGroep(new fAddEditGroep(data));
$.each(self.leerkrachten(), function(f, leerkracht){
leerkracht.selected(false);
});
$("#modNewEditGroep").modal('show');
}
},'json')
},
fGetLabels: function(){
var self = ls.GroepenModel;
$.post("index.php/monpas/groepen/getlabels/"+ self.module(), function(data){
if (data){
self.label1(data.label1)
self.label2(data.label2);
self.label3(data.label3);
self.label4(data.label4);
}// if
},'json');
},
fGetGroepen: function(){
var self = ls.GroepenModel;
var submitData = {
'schoolID' : self.schoolid(),
'schooljaar' : self.schooljaarnr(),
'module' : self.module()
}
$.post("index.php/monpas/groepen/getgroepen/", submitData, function(data){
self.groepen.removeAll();
if (data){
$.each(data,function(i,p){
self.groepen.push(new fAddGroep(p));
});
}// if
},'json');
},
fUpdateGroep: function(){
var self = ls.GroepenModel;
var errortekst = '';
if (self.editGroep().naam().length < 1){
errortekst = "U moet een naam opgeven voor deze groep"
}
// if(self.editGroep().totaantal() <=0){
// errortekst = errortekst + "</br> Het aantal leerlingen in een groep moet groter zijn dan 0."
//
// }
if ( self.editGroep().niveau().length ==0 ||
self.editGroep().niveau()[0]== null ||
self.editGroep().niveau()[0] == undefined ||
self.editGroep().niveau()[0] == NaN){errortekst +=" U moet het niveau van de groep opgeven."}
if (errortekst !=''){
apprise(errortekst);
return;
}
else{
var submitData ={ id : self.editGroep().id,
orgid : self.editGroep().orgid,
schooljaar : self.editGroep().schooljaar,
naam : self.editGroep().naam(),
niveauarray : self.editGroep().niveau(),
totaantal : self.editGroep().totaantal(),
notitie : self.editGroep().notitie(),
schooltype : 'R',
module : self.module()
};
$.post("index.php/monpas/groepen/insertorupdategroep", submitData, function(result){
if (self.editGroep().id ==0 || self.editGroep().id== null || self.editGroep().id==undefined){
self.editGroep().id = result.id;
self.groepen.push(new fAddGroep(result));
$.each(self.groepen(), function(b,groep){
if (groep.id == result.id) {self.selectedGroep(groep); return false };
});
}
else{
self.selectedGroep().naam = self.editGroep().naam();
}; //else
$.post("index.php/monpas/groepen/deletegroepxuser/" + self.editGroep().id, function(){
self.selectedGroep().leerkrachten.removeAll();
$.each(self.leerkrachten(), function(c , leerkracht){
if (leerkracht.selected()){
$.post('index.php/monpas/groepen/addgroepxuser/' + self.editGroep().id + '/' + self.schoolid() + '/' + leerkracht.userid);
self.selectedGroep().leerkrachten.push(leerkracht);
}
});
}) // delete groepxuser
self.selectedGroep().totaantal(self.editGroep().totaantal());
// hier alle regels en/of aantallen opslaan
self.selectedGroep().som1(self.selectedGroep().totaantal());
self.selectedGroep().som2(0);
self.selectedGroep().som3(0);
self.selectedGroep().som4(0);
if (self.editGroep().ondersteuningsvormen()){
$.each(self.editGroep().ondersteuningsvormen(), function(i,p){
submitData={ id : p.id,
orgid : self.editGroep().orgid,
groepid : self.editGroep().id,
nivo : p.nivo,
naam : p.naam(),
aantal : p.aantal() };
$.post("index.php/monpas/groepen/insertorupdateOS", submitData, function(result){
if (result){
if (p.id == null || p.id == 0) p.id = result;
}
},'json');
// HIER NOG OPTELLEN VAN LEERLINGEN PER ONDERSTEUNINGSVORM VOOR SELECTED GROEP
if (p.aantal()) {
self.selectedGroep().som1(self.selectedGroep().som1() - parseInt(p.aantal()));
switch (p.nivo){
case '2': self.selectedGroep().som2( self.selectedGroep().som2() + parseInt(p.aantal()));
break;
case '3': self.selectedGroep().som3( self.selectedGroep().som3() + parseInt(p.aantal()));
break;
case '4': self.selectedGroep().som4(self.selectedGroep().som4() + parseInt(p.aantal()));
break;
}
} ; // if p.aantal
}); // each
}// if
},'json');
$("#modNewEditGroep").modal('hide');
} // else
},
fToggle : function(data ,wat){
var self = ls.GroepenModel;
switch (wat){
case 1: self.editGroep().geopend1(!self.editGroep().geopend1());
break;
case 2: self.editGroep().geopend2(!self.editGroep().geopend2());
break;
case 3: self.editGroep().geopend3(!self.editGroep().geopend3());
break;
case 4: self.editGroep().geopend4(!self.editGroep().geopend4());
break;
};
},
fCopyGroep: function(){
var self = ls.GroepenModel;
if (self.bezig()) return;
self.bezig(true);
var submitData = {
'schooljaar' : self.schooljaarnr(),
'orgid' : self.schoolid(),
'module' : self.module()
}
apprise("Weet u zeker dat u de groepen van het vorig schooljaar wilt kopieren naar het schooljaar " + ls.MenuModel.selectedSchooljaar().naam+ "?", {verify:true, textYes:'ja', textNo:'nee'},
function(ans){
if (ans){
$.post("index.php/monpas/groepen/copygroepregulier", submitData, function(result){
if (result) {
apprise("Geen groepen gevonden")
}
else{
$.post("index.php/monpas/groepen/getgekopieerdegroepen", submitData, function(data){
self.groepen.removeAll();
if (data){
$.each(data,function(i,p){
self.groepen.push(new fAddGroep(p));
});
}// if
},'json');
}
self.bezig(false);
},'json');
} else {
self.bezig(false)
}
}); // apprise
},
fNewOndersteuning: function(wat){
var self = ls.GroepenModel;
if (!self.editGroep()) return;
var newos = {id: null,
orgid:self.schoolid(),
naam: ko.observable(''),
nivo: wat,
aantal: ko.observable(0)}
self. editGroep().ondersteuningsvormen.push( newos);
},
fCheckinput: function(data,elid){
var self =ls.GroepenModel;
var dit = this;
var dat ="#" + data;
if (self.bezig()) return;
if (self.editGroep().basis() < 0) {
self.bezig(true);
dit.aantal(0);
$(dat).focus();
apprise("Iedere leerling kan maar binnen 1 ondersteuningsvorm vallen.",
{verify: false, textYes: ' ok '}, function(ans){
self.bezig(false)
});
};
},
// functie fEditGroep en overige functies lijken te zijn weggevallen
// teruggezet van productie
fCheckTotaal: function(){
var self = ls.GroepenModel;
var sum = self.editGroep().totplus() + self.editGroep().totextra() + self.editGroep().totextraplus();
if (self.bezig()) return;
if (timeout){
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(function(){
self.bezig(true);
if (sum > self.editGroep().totaantal()){
apprise("Totaal aantal leerlingen mag niet kleiner zijn dan het aantal leerlingen met een speciale onderwijs- en/of zorgvraag.",{},function(){
self.editGroep().totaantal(sum);
$("#totaal").focus();
self.bezig(false);
})
}
else {self.bezig(false);}
},700);
},
fDeleteGroep : function(){
var self = ls.GroepenModel;
var dit = this;
apprise("Weet u zeker dat u " + dit.naam+ " wilt verwijderen?" , {verify: true, textYes:'ja', textNo:'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/groepen/deletegroep/" + dit.id, function(){
self.groepen.remove(dit);
});
}
}); // apprise
},
fEditGroep : function(){
var self = ls.GroepenModel;
self.selectedGroep(this);
var submitData={
groepid : self.selectedGroep().id,
schoolid : self.schoolid(),
minnivo : 2,
maxnivo : 4
};
$.post("index.php/monpas/groepen/getgroep/" , submitData, function(result){
self.editGroep(null);
if (result){
self.editGroep(new fAddEditGroep(result));
$.each(self.leerkrachten(), function(d,leerkracht){
leerkracht.selected(false);
$.each(result.leerkrachten, function(e,lk){
if (lk.userid == leerkracht.userid){
leerkracht.selected(true);
}
})
});
$("#modNewEditGroep").modal('show');
}
},'json');
},
fDeleteOS : function(){
var self = ls.GroepenModel;
var dit = this;
apprise("Weet u zeker dat u " + dit.naam() + " wilt verwijderen? </br/> Alle leerlingen (in alle groepen) die toegewezen zijn aan deze" +
" ondersteuningsvorm worden ingedeeld in de basisondersteuning.", {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/groepen/deleteOS/" + dit.id, function(){
self.editGroep().ondersteuningsvormen.remove(dit);
});
};// if ans
});//apprise
},
fWijzigLeerkrachten : function(){
var self =ls.GroepenModel;
this.toonLK(!this.toonLK());
},
fToggleLeerkracht : function(){
this.selected(!this.selected());
},
fUpdateNotitie : function(){
var self=ls.GroepenModel;
var dit = this;
if (timeout){
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(function(){
var submitData={ groepid : dit.id,
notitie : dit.notitie};
if (dit.id == null) return;
$.post("index.php/monpas/groepen/updatenotitie", submitData);
},600);
},
} ; // definition van model
ls.GroepenModel.initBindings();
}; // else
}// function initGroepenModel
});;
@@ -0,0 +1,498 @@
$(function(){
mh.initGroepensoModel = function(){
var timeout;
function fAddGroep(p){
this.id = p.id;
this.naam = p.naam;
this.leerjaar = p.niveau;
this.totaantal = ko.observable(p.totaantal);
this.som5 = ko.observable(p.som5);
this.som6 = ko.observable(p.som6);
this.som7 = ko.observable(p.som7);
this.som8 = ko.observable(p.som8);
this.leerkrachten = ko.observableArray([]);
var dit = this;
if (p.leerkrachten){
$.each(p.leerkrachten, function(j,leerkracht){
dit.leerkrachten.push(new fAddLeerkracht(leerkracht));
})
}
}
function fAddLeerkracht(p){
this.userid = p.userid;
this.fullname = p.fullname;
this.selected = ko.observable(false);
}
function fAddEditGroep(p){
var dit = this;
this.id = p.id;
this.naam = ko.observable(p.naam);
this.orgid = p.orgid;
this.schooljaar = p.schooljaar;
this.leerjaren = ko.observableArray([]);
if (p.niveau){
$.each(p.niveau, function(j,k){
if (!isNaN(parseInt(k)) ){
dit.leerjaren.push(parseInt(k));
}
}); // each
}
this.totaantal = ko.observable(p.totaantal);
this.ondersteuningsvormen = ko.observableArray([]);
if (p.ondersteuningsvormen){
$.each(p.ondersteuningsvormen, function(j,k){
dit.ondersteuningsvormen.push(new fAddOndersteuningsvorm(k));
});
}
this.totsbo = ko.computed(function(){
var som = 0;
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (y.zwaarte == 5 && y.aantal()){
som = som + parseInt(y.aantal());
}
});
}
return som;
});
this.totso1 = ko.computed(function(){
var som = 0;
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (y.zwaarte == 6 && y.aantal()){
som = som + parseInt(y.aantal());
}
});
}
return som;
});
this.totso2 = ko.computed(function(){
var som = 0;
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (y.zwaarte == 7 && y.aantal()){
som = som + parseInt(y.aantal());
}
});
}
return som;
});
this.totso3 = ko.computed(function(){
var som = 0;
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (y.zwaarte == 8 && y.aantal()){
som = som + parseInt(y.aantal());
}
});
}
return som;
});
this.nogniet = ko.computed(function(){
var groepen =
parseInt(dit.totsbo()) +
parseInt(dit.totso1()) +
parseInt(dit.totso2()) +
parseInt(dit.totso3());
var nietingedeeld = parseInt(dit.totaantal()) - groepen;
return nietingedeeld;
});
this.geopend5 = ko.observable(false);
this.geopend6 = ko.observable(false);
this.geopend7 = ko.observable(false);
this. geopend8 = ko.observable(false);
this.toonLK = ko.observable(false);
this.notitie = ko.observable(p.notitie);
}
function fAddOndersteuningsvorm(k){
this.id = k.id;
this.orgid = k.organisatie_id;
this.naam = ko.observable(k.naam);
this.zwaarte = k.nivo;
this.aantal = ko.observable(k.aantal);
}
if (mh.GroepensoModel !== undefined){
mh.GroepensoModel.initModel();
}
else {
mh.GroepensoModel = {
schoolid : ko.observable(null),
schooljaarnr : ko.observable(null),
groepen : ko.observableArray([]),
selectedGroep : ko.observable(),
editGroep : ko.observable(),
edittekst : ko.observable(''),
leerkrachten : ko.observableArray([]),
leerjaren : ko.observableArray( [
{id:1 ,leerjaar: 1},
{id:2, leerjaar: 2},
{id:3, leerjaar: 3},
{id:4, leerjaar: 4},
{id:5, leerjaar: 5},
{id:6, leerjaar: 6},
{id:7, leerjaar: 7},
{id:8, leerjaar: 8}]),
writer : ko.observable(false),
bezig : ko.observable(false),
initBindings :function(){
var self = mh.GroepensoModel;
var vandaag = new Date();
if (!ko.dataFor(document.getElementById('paggroepenso')) ) {
ko.applyBindings(mh.GroepensoModel, document.getElementById('paggroepenso'));
}
$.post("index.php/monpas/groepen/getwriter", function(writer){
self.writer(writer);
},'json');
self.initModel();
},
initModel: function(){
var self = mh.GroepensoModel;
if (ls.MenuModel.selectedSchool()){
self.schoolid(ls.MenuModel.selectedSchool().id);
}
if (ls.MenuModel.selectedSchooljaar()){
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
}
$.post("index.php/monpas/groepen/getleerkrachten/" + self.schoolid(), function(data){
self.leerkrachten.removeAll();
if (data){
$.each(data, function(a,b){
self.leerkrachten.push(new fAddLeerkracht(b));
})
}
self.fGetGroepen(); // als school of schooljaar is aangepast dan groepsgegevens opnieuwe ophalen
},'json');
},
fNewGroep: function(){
var self = mh.GroepensoModel;
var submitData={
schoolid : self.schoolid(),
schooljaar : self.schooljaarnr(),
minnivo : 5,
maxnivo : 8,
type : 'SBO'
};
$.post("index.php/monpas/groepen/getnewgroep/", submitData, function(data){
if (data) {
self.editGroep(new fAddEditGroep(data));
$.each(self.leerkrachten(), function (f, leerkracht) {
leerkracht.selected(false);
});
$("#modNewEditGroepSO").modal('show');
}
},'json')
},
fGetGroepen: function(){
var self = mh.GroepensoModel;
$.post("index.php/monpas/groepen/getgroepenso/"+self.schoolid() + '/' + self.schooljaarnr(), function(data){
self.groepen.removeAll();
if (data) {
if (data.groepen) {
$.each(data.groepen, function (i, p) {
self.groepen.push(new fAddGroep(p));
});
}// if
};
},'json');
},
fUpdateGroep: function(){
var self = mh.GroepensoModel;
var errortekst = '';
if (self.editGroep().naam().length < 1){
errortekst = "U moet een naam opgeven voor deze groep"
}
if(self.editGroep().totaantal() <=0){
errortekst = errortekst + "</br> Het aantal leerlingen in een groep moet groter zijn dan 0."
}
if ( self.editGroep().leerjaren().length ==0 ||
self.editGroep().leerjaren()[0]== null ||
self.editGroep().leerjaren()[0] == undefined ||
self.editGroep().leerjaren()[0] == NaN){errortekst +=" U moet het leerjaar/de leerjaren van de groep opgeven."}
if (self.editGroep().nogniet() > 0){
errortekst = errortekst + "</br> Alle leerlingen moeten worden ingedeeld."
}
else {self.bezig(false);}
if (errortekst !=''){
apprise(errortekst);
return;
}
else{
var submitData ={ id : self.editGroep().id,
orgid : self.editGroep().orgid,
schooljaar : self.editGroep().schooljaar,
naam : self.editGroep().naam(),
module : 270,
niveauarray : self.editGroep().leerjaren(),
totaantal : self.editGroep().totaantal(),
notitie : self.editGroep().notitie(),
schooltype : 'SBO'
};
$.post("index.php/monpas/groepen/insertorupdategroep", submitData, function(result){
if (self.editGroep().id ==0 || self.editGroep().id== null || self.editGroep().id==undefined){
self.editGroep().id = result.id;
self.groepen.push(new fAddGroep(result));
$.each(self.groepen(), function(b,groep){
if (groep.id == result.id) {self.selectedGroep(groep); return false };
});
}
else{
self.selectedGroep().naam = self.editGroep().naam();
}; //else
$.post("index.php/monpas/groepen/deletegroepxuser/" + self.editGroep().id);
self.selectedGroep().leerkrachten.removeAll();
$.each(self.leerkrachten(), function(c , leerkracht){
if (leerkracht.selected()){
$.post('index.php/monpas/groepen/addgroepxuser/' + self.editGroep().id + '/' + self.schoolid() + '/' + leerkracht.userid);
self.selectedGroep().leerkrachten.push(leerkracht);
}
});
self.selectedGroep().totaantal(self.editGroep().totaantal());
// hier alle regels en/of aantallen opslaan
self.selectedGroep().som5(0);
self.selectedGroep().som6(0);
self.selectedGroep().som7(0);
self.selectedGroep().som8(0);
if (self.editGroep().ondersteuningsvormen()){
$.each(self.editGroep().ondersteuningsvormen(), function(i,p){
if(p.naam()) {
submitData = {
id: p.id,
orgid: self.editGroep().orgid,
groepid: self.editGroep().id,
nivo: p.zwaarte,
naam: p.naam(),
aantal: p.aantal()
};
$.post("index.php/monpas/groepen/insertorupdateOS", submitData, function (result) {
if (result) {
if (p.id == null || p.id == 0) p.id = result;
}
}, 'json');
}
// HIER NOG OPTELLEN VAN LEERLINGEN PER ONDERSTEUNINGSVORM VOOR SELECTED GROEP
if (p.aantal()) {
switch (p.zwaarte){
case '5': self.selectedGroep().som5( self.selectedGroep().som5() + parseInt(p.aantal()));
break;
case '6': self.selectedGroep().som6( self.selectedGroep().som6() + parseInt(p.aantal()));
break;
case '7': self.selectedGroep().som7( self.selectedGroep().som7() + parseInt(p.aantal()));
break;
case '8': self.selectedGroep().som8(self.selectedGroep().som8() + parseInt(p.aantal()));
break;
}
} ; // if p.aantal
}); // each
}// if
},'json');
$("#modNewEditGroepSO").modal('hide');
} // else
},
fToggle : function(data ,wat){
var self = mh.GroepensoModel;
switch (wat){
case 5: self.editGroep().geopend5(!self.editGroep().geopend5());
break;
case 6: self.editGroep().geopend6(!self.editGroep().geopend6());
break;
case 7: self.editGroep().geopend7(!self.editGroep().geopend7());
break;
case 8: self.editGroep().geopend8(!self.editGroep().geopend8());
break;
};
},
fNewOndersteuning: function(data, wat){
var self = mh.GroepensoModel;
if (!self.editGroep()) return;
var newos = {id: null,
orgid:self.schoolid(),
naam: ko.observable(''),
zwaarte:data,
aantal: ko.observable(0)}
self. editGroep().ondersteuningsvormen.push( newos);
},
fCheckinput: function(data,elid){
var self =mh.GroepensoModel;
var dit = this;
var dat ="#" + data;
if (self.bezig()) return;
self.bezig(true);
if (self.editGroep().nogniet() < 0){
apprise("Iedere leerling kan maar binnen 1 ondersteuningsvorm vallen.", {},function(){
dit.aantal(0);
$(dat).focus();
self.bezig(false);
});
}
else {self.bezig(false);}
},
fCheckTotaal: function(){
var self = mh.GroepensoModel;
var sum = self.editGroep().totsbo() + self.editGroep().totso1() + self.editGroep().totso2() + self.editGroep().totso3();
if (self.bezig()) return;
if (timeout){
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(function(){
self.bezig(true);
if (self.editGroep().nogniet() < 0){
apprise("Alle leerlingen moeten worden ingedeeld bij een onderwijsvraag",{},function(){
self.editGroep().totaantal(sum);
$("#totaal").focus();
self.bezig(false);
})
}
self.bezig(false);
},700);
},
fDeleteGroep : function(){
var self = mh.GroepensoModel;
var dit = this;
apprise("Weet u zeker dat u " + dit.naam+ " wilt verwijderen?" , {verify: true, textYes:'ja', textNo:'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/groepen/deletegroep/" + dit.id, function(){
self.groepen.remove(dit);
});
}
}); // apprise
},
fEditGroep : function(){
var self = mh.GroepensoModel;
self.selectedGroep(this);
var submitData ={
groepid : self.selectedGroep().id,
schoolid : self.schoolid(),
minnivo : 5,
maxnivo : 8
}
$.post("index.php/monpas/groepen/getgroep/", submitData, function(result){
self.editGroep(null);
if (result){
self.editGroep(new fAddEditGroep(result));
$.each(self.leerkrachten(), function(d,leerkracht){
leerkracht.selected(false);
$.each(result.leerkrachten, function(e,lk){
if (lk.userid == leerkracht.userid){
leerkracht.selected(true);
}
})
});
$("#modNewEditGroepSO").modal('show');
}
},'json');
},
fDeleteOS : function(){
var self = mh.GroepensoModel;
var dit = this;
apprise("Weet u zeker dat u " + dit.naam() + " wilt verwijderen?", {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/groepen/deleteOS/" + dit.id, function(){
self.editGroep().ondersteuningsvormen.remove(dit);
});
};// if ans
});//apprise
},
fWijzigLeerkrachten : function(){
var self =mh.GroepensoModel;
this.toonLK(!this.toonLK());
},
fToggleLeerkracht : function(){
this.selected(!this.selected());
},
fUpdateNotitie : function(){
var self=mh.GroepensoModel;
var dit = this;
if (timeout){
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(function(){
var submitData={ groepid : dit.id,
notitie : dit.notitie};
if (dit.id == null) return;
$.post("index.php/monpas/groepen/updatenotitie", submitData);
},600);
},
fCopyGroep: function(){
var self = mh.GroepensoModel;
var submitData = {
'schooljaar' : self.schooljaarnr(),
'orgid' : self.schoolid(),
}
apprise("Weet u zeker dat u de groepen van het vorig schooljaar wilt kopieren naar het schooljaar " + ls.MenuModel.selectedSchooljaar().naam+ "?", {verify:true, textYes:'ja', textNo:'nee'},
function(ans){
if (ans){
$.post("index.php/monpas/groepen/copygroepSOSBO", function(result){
if (result){
if(result.error) {
apprise("FOUT: geen groepen gevonden");
}
if(result.vorigegroepen) {
self.groepen.removeAll();
$.each(result.vorigegroepen, function (i, p) {
self.groepen.push(new fAddGroep(p));
});
}
}
},'json');
}
}); // apprise
}
} ; // definition van model
mh.GroepensoModel.initBindings();
}; // else
}// function initGroepensoModel
});
@@ -0,0 +1,303 @@
$(function(){
ls.initMonDivModel = function(module){
var Gr01;
function fAddBG(p) {
var dit = this;
this.id = p.waardeid;
this.bgnaam = p.naam;
this.volgorde = p.volgorde;
this.scholen = ko.observableArray([]);
if (p.scholen) {
$.each(p.scholen, function (j, k) {
dit.scholen.push(new fAddSchool(k));
})
}
}
function fAddSchool(p){
var dit = this;
this.naam = p.brin + ' - ' + p.naam;
if (p.fullname){
dit.naam = p.brin + ' - ' + p.fullname;
}
this.aantallln = p.aantallln;
this.groepen = p.aantalgroepen;
this.cat1 = p.cat1 ? p.cat1 : 0;
this.cat2 = p.cat2 ? p.cat2 : 0;
this.cat3 = p.cat3 ? p.cat3 : 0;
this.cat4 = p.cat4 ? p.cat4 : 0;
this.oov = p.oov;
this.tgd = p.tgd;
this.dq = p.dq;
}
function fAddCriteria(c) {
var dit = this;
this.criteriumid = c.id;
this.naam = c.naam;
}
if (ls.MonDivModel !== undefined){
ls.MonDivModel.initModel(module)
}
else {
ls.MonDivModel = {
bg : ko.observableArray([]),
criteria : ko.observableArray([]),
scholen : ko.observableArray([]),
baar : ko.observable(''),
orgsoort : ko.observable(1),
orgversions : ko.observableArray([]),
selectedOrgversion : ko.observable(''),
selectedCriterium : ko.observable(0),
selectedCritNaam : ko.observable('bestuur'),
schooljaarnr : ko.observable(),
mindq : ko.observable(''),
maxdq : ko.observable(''),
maxoov : ko.observable(''),
grandtotals : ko.observableArray([]),
druk : ko.observable(false),
gegevens : ko.observable(true),
module : ko.observable(),
label1 : ko.observable(),
label2 : ko.observable(),
label3 : ko.observable(),
label4 : ko.observable(),
initBindings :function(){
var self = ls.MonDivModel;
if (!ko.dataFor(document.getElementById('pagmonitordiversiteit')) ) {
ko.applyBindings(ls.MonDivModel, document.getElementById("pagmonitordiversiteit"));
}
self.initModel(module);
},
initModel: function(module){
var self = ls.MonDivModel;
self.module(module);
if (ls.MenuModel.selectedSchooljaar()){
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
}
$.post("index.php/monpas/groepen/getlabels/"+ self.module(), function(data){
showAjaxLoader();
console.log(data, "data")
if (data){
self.label1(data.label1)
self.label2(data.label2);
self.label3(data.label3);
self.label4(data.label4);
}// if
var submitData={
schooljaarnr : self.schooljaarnr(),
module : self.module()};
$.post("index.php/monpas/diversiteitmonitor/haalDiversiteitOverzichtop", submitData,function(result){
self.bg.removeAll();
if(result.beschikbaar === 'T') {
self.gegevens(true);
if (result.bg) {
$.each(result.bg, function (i, p) {
self.bg.push(new fAddBG(p));
}); // each
}
if (result.maxdq) {
self.maxdq(result.maxdq)
}
if (result.mindq) {
self.mindq(result.mindq)
}
if (result.maxoov) {
self.maxoov(result.maxoov)
}
;
if (result.grandtotals) self.grandtotals(result.grandtotals);
self.fFillGraph();
self.fGetCriteria();
hideAjaxLoader();
}
else{
self.gegevens(false);
hideAjaxLoader();
}
},'json');
},'json');
},
fGetCriteria: function(){
var self = ls.MonDivModel;
$.post("index.php/monpas/diversiteitmonitor/getCriteriaSWV", function(results) {
self.druk(true);
self.criteria.removeAll();
if (results) {
$.each(results, function (i, c) {
self.criteria.push(new fAddCriteria(c));
if (c.id === 0) {
self.selectedCriterium(c);
}
}); // each
}
self.druk(false);
self.fChangeCriterium();
},'json').always(self.druk(false));
},
fChangeCriterium: function(){
var self = ls.MonDivModel;
if (self.schooljaarnr == undefined) return;
if (self.druk() ) return;
var nr = self.schooljaarnr;
var module = self.module();
self.fHaalOverzichtenOp(nr, module);
},
fHaalOverzichtenOp: function(schooljaarnr, module){
var self = ls.MonDivModel;
var dit = this;
if (self.druk() ) return;
self.selectedCritNaam(self.selectedCriterium().naam);
var submitData = {
'criteriumid' : self.selectedCriterium().criteriumid,
'schooljaarnr': schooljaarnr,
'module' : module
};
$.post("index.php/monpas/diversiteitmonitor/haalDiversiteitOverzichtOp", submitData, function(result) {
// self.data(false);
self.bg.removeAll();
if(result.beschikbaar === 'T') {
self.gegevens(true);
if (result.bg) {
$.each(result.bg, function (i, p) {
self.bg.push(new fAddBG(p));
}); // each
}
if (result.maxdq) {
self.maxdq(result.maxdq)
}
if (result.mindq) {
self.mindq(result.mindq)
}
if (result.maxoov) {
self.maxoov(result.maxoov)
}
;
if (result.grandtotals) self.grandtotals(result.grandtotals);
self.fFillGraph();
}
else{
self.gegevens(false);
}
}, 'json').always(function(){
hideAjaxLoader() } );
},
fFillGraph : function(){
var self = ls.MonDivModel;
var scores = [];
var slabels =['B','B⁺','E','E⁺','gem'];
if (!self.grandtotals() || self.grandtotals().llng <=0) return;
scores[0]=Math.round((self.grandtotals().cat1 / self.grandtotals().llng) * 100)
scores[1]=Math.round((self.grandtotals().cat2 / self.grandtotals().llng) * 100)
scores[2]=Math.round((self.grandtotals().cat3 / self.grandtotals().llng) * 100)
scores[3]=Math.round((self.grandtotals().cat4 / self.grandtotals().llng) * 100)
scores[4] = Math.round((self.grandtotals().cat234 / self.grandtotals().llng) * 100);
if (Gr01 ) {Gr01.destroy(); }
$("#mondiv01").remove();
var canv = document.createElement('canvas');
canv.id = 'mondiv01';
canv.width = 280;
canv.height = 185;
document.getElementById('holdermondiv01').appendChild(canv);
var ctxMondiv01=$("#mondiv01").get(0).getContext("2d");
var data = {labels : slabels,
datasets:[{ label: '',
fillColor: "rgba(147,15,80,0.9)",
strokeColor: "rgba(111,11,61,1)",
highlightStroke: "rgba(222,22,123,1)",
data: scores}]
};
Gr01 = new Chart(ctxMondiv01).Bar(data,{
animation: true,
scaleShowGridLines:true,
scaleLineColor:"rgba(0,0,0,1)",
scaleOverride: true,
scaleBeginAtZero :true,
scaleSteps: 10,
scaleStepWidth: 10,
scaleStartValue: 0 ,
barValueSpacing: 10,
barStrokeWidth:1,
barDatasetSpacing:2,
toottipFontFamily:"'lato','Arial'",
tooltipTemplate: "<%= label %>: <%= datasetLabel[ (label -1)] %> <%= value %>%",
});
},
fPrintDiversiteitMonitor :function(){
var self = ls.MonDivModel;
var bgs = {};
var bg;
$.each (self.bg(), function(i,p){
bg=ko.toJSON(p);
bgs[i]=bg;
})
var Gr01_64 = '';
if (Gr01 !==undefined) Gr01_64=Gr01.toBase64Image();
submitData = { 'bgs' : bgs,
'maxdq' : ko.toJSON(self.maxdq()),
'mindq' : ko.toJSON(self.mindq()),
'maxoov' : ko.toJSON(self.maxoov()),
"grandtotals" : ko.toJSON(self.grandtotals()),
'schooljaarnr' : self.schooljaarnr(),
"gr0164" : Gr01_64
}
data=JSON.stringify(submitData);
var $form = $("<form method='post' action='index.php/monpas/diversiteitmonitor/maakpdf' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
}
} ; // definition van model
ls.MonDivModel.initBindings();
}; // else
}// function initMonDivModel
});
@@ -0,0 +1,161 @@
$(function(){
mh.initMonDivSOModel = function(module){
var Gr01;
function fAddBg(p){
var dit = this;
this.bgnaam = p.naam;
this.bgkort =p.naamkort;
this.scholen = ko.observableArray([]);
if (p.scholen){
$.each(p.scholen, function(j,k){
dit.scholen.push(new fAddSchool(k));
}); //each
}
}
function fAddSchool(p){
this.naam = p.brin + ' - ' + p.naam;
this.aantallln = p.aantallln;
this.groepen = p.aantalgroepen;
this.cat5 = p.cat5;
this.cat6 = p.cat6;
this.cat7 = p.cat7;
this.cat8 = p.cat8;
this.tgd = p.tgd;
this.dq = p.dq;
}
if (mh.MonDivSOModel !== undefined){
mh.MonDivSOModel.initModel(module);
}
else {
mh.MonDivSOModel = {
bg : ko.observableArray([]),
schooljaarnr : ko.observable(),
mindq : ko.observable(''),
maxdq : ko.observable(''),
gegevens : ko.observable(true),
grandtotals : ko.observableArray([]),
module : ko.observableArray(),
initBindings :function(){
var self = mh.MonDivSOModel;
if (!ko.dataFor(document.getElementById('pagmonitordiversiteitso')) ) {
ko.applyBindings(mh.MonDivSOModel, document.getElementById("pagmonitordiversiteitso"));
}
self.initModel(module);
},
initModel: function(){
var self = mh.MonDivSOModel;
self.module(module);
if (ls.MenuModel.selectedSchooljaar()){
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
}
var submitData={
schooljaarnr : self.schooljaarnr(),
module : self.module() };
$.post("index.php/monpas/diversiteitmonitor/getallsboso", submitData,function(result){
self.bg.removeAll();
showAjaxLoader()
if(result && result.beschikbaar === 'T') {
self.gegevens(true);
if (result.bg) {
$.each(result.bg, function (i, p) {
self.bg.push(new fAddBg(p));
}); // each
}
if (result.maxdq) {
self.maxdq(result.maxdq)
}
if (result.mindq) {
self.mindq(result.mindq)
}
if (result.grandtotals) self.grandtotals(result.grandtotals);
self.fFillGraph();
}
else{
self.gegevens(false);
}
hideAjaxLoader()
},'json');
},
fFillGraph : function(){
var self = mh.MonDivSOModel;
var scores = [];
var slabels =['SBO','SO-1','SO2','SO-3'];
if (!self.grandtotals() || self.grandtotals().llng <=0) return;
scores[0]=Math.round((self.grandtotals().cat5 / self.grandtotals().llng) * 100)
scores[1]=Math.round((self.grandtotals().cat6 / self.grandtotals().llng) * 100)
scores[2]=Math.round((self.grandtotals().cat7 / self.grandtotals().llng) * 100)
scores[3]=Math.round((self.grandtotals().cat8 / self.grandtotals().llng) * 100)
if (Gr01 ) {Gr01.destroy(); }
$("#mondivSO").remove();
var canv = document.createElement('canvas');
canv.id = 'mondivSO';
canv.width = 280;
canv.height = 185;
document.getElementById('holdermondivSO').appendChild(canv);
var ctxMondiv01=$("#mondivSO").get(0).getContext("2d");
var data = {labels : slabels,
datasets:[{ label: '',
fillColor: "rgba(147,15,80,0.9)",
strokeColor: "rgba(111,11,61,1)",
highlightStroke: "rgba(222,22,123,1)",
data: scores}]
};
Gr01 = new Chart(ctxMondiv01).Bar(data,{
animation: true,
scaleShowGridLines:true,
scaleLineColor:"rgba(0,0,0,1)",
scaleOverride: true,
scaleBeginAtZero :true,
scaleSteps: 10,
scaleStepWidth: 10,
scaleStartValue: 0 ,
barValueSpacing: 10,
barStrokeWidth:1,
barDatasetSpacing:2,
toottipFontFamily:"'lato','Arial'",
tooltipTemplate: "<%= label %>: <%= datasetLabel[ (label -1)] %> <%= value %>%",
});
},
fPrintDiversiteitMonitor :function(){
var self = mh.MonDivSOModel;
var bgs = {};
var bg;
$.each (self.bg(), function(i,p){
bg=ko.toJSON(p);
bgs[i]=bg;
})
var Gr01_64 = '';
if (Gr01 !==undefined) Gr01_64=Gr01.toBase64Image();
submitData = { 'bgs' : bgs,
'maxdq' : ko.toJSON(self.maxdq()),
'mindq' : ko.toJSON(self.mindq()),
"grandtotals" : ko.toJSON(self.grandtotals()),
'schooljaarnr' : self.schooljaarnr(),
"gr0164" : Gr01_64
}
data=JSON.stringify(submitData);
var $form = $("<form method='post' action='index.php/monpas/diversiteitmonitor/maakpdfsboso' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
}
} ; // definition van model
mh.MonDivSOModel.initBindings();
}; // else
}// function initMonDivModel
});
@@ -0,0 +1,147 @@
$(function(){
ls.initOndersteuningModel = function(module){
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 (ls.OndersteuningModel !== undefined){
ls.OndersteuningModel.initModel(module);
}
else {
ls.OndersteuningModel = {
schoolid : ko.observable(null),
schooljaarnr : ko.observable(null),
groepen : ko.observableArray([]),
selectedGroep : ko.observable(),
dagen : ko.observableArray([]),
writer : ko.observable(false),
module : ko.observable(),
initBindings :function(){
var self = ls.OndersteuningModel;
if (!ko.dataFor(document.getElementById('pagondersteuning')) ) {
ko.applyBindings(ls.OndersteuningModel, document.getElementById("pagondersteuning"));
}
$.post("index.php/monpas/groepen/getwriter", function(writer){
self.writer(writer);
self.initModel(module);
},'json');
},
initModel: function(module){
var self = ls.OndersteuningModel;
if (ls.MenuModel.selectedSchool()){
self.schoolid(ls.MenuModel.selectedSchool().id);
}
if (ls.MenuModel.selectedSchooljaar()){
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
}
self.module(module);
var submitData = {
'orgID' : self.schoolid(),
'schooljaar' : self.schooljaarnr(),
'module' : self.module()
}
$.post("index.php/monpas/ondersteuning/getgroepen", submitData , function(result){
self.groepen.removeAll();
self.selectedGroep(null);
self.dagen.removeAll();
if (result){
$.each(result, function(i,p){
self.groepen.push(new fAddGroep(p));
});//each
self.selectedGroep(self.groepen()[0]);
// self.fGetUren();
}
},'json');
},
fGetUren : function(){
var self = ls.OndersteuningModel;
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 = ls.OndersteuningModel;
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
ls.OndersteuningModel.initBindings();
}; // else
}// function initOndersteuningModel
});
@@ -0,0 +1,178 @@
$(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),
ondersteuning : ko.observable(true),
// 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.groepen){
$.each(result.groepen, function(i,p){
self.groepen.push(new fAddGroep(p));
});//each
self.selectedGroep(self.groepen()[0]);
// self.fGetUren();
}
if(result.ondersteuning){
if(result.ondersteuning == 'F'){
self.ondersteuning(false);
}
else{
self.ondersteuning();
}
}
},'json');
},
fWijzigOndersteuning: function(){
var self = mh.OndersteuningSOModel;
self.ondersteuning(!self.ondersteuning());
var middelen = 'T';
if(!self.ondersteuning()){
middelen = 'F';
}
var submitData = {
'ondersteuning' : middelen,
'orgid' : self.schoolid(),
'schooljaar' : self.schooljaarnr(),
}
$.post("index.php/monpas/ondersteuning/saveondersteuning/", 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
});
@@ -0,0 +1,227 @@
$(function(){
ls.initColofonModel = function(){
var timer;
function fAddSchoolgegevens(p){
this.id = p.id;
this.BGbrin = p.BGbrin;
this.naam = ko.observable(p.naam);
this.straat = ko.observable(p.straat);
this.plaats = ko.observable(p.plaats);
this.telefoon = ko.observable(p.telefoon);
this.email1 = ko.observable(p.email1);
this.web = ko.observable(p.web);
this.directie = ko.observable(p.directie);
this.ib = ko.observable(p.ib);
this.email2 = ko.observable(p.email2);
}
function fAddLeerkracht(p){
this.id = p.id; //userid
this.aanhef = ko.observable(p.aanhef);
this.voornaam = ko.observable(p.voornaam);
this.tussenvoegsel = ko.observable(p.tussenvoegsel);
this.achternaam = ko.observable(p.achternaam);
this.email = ko.observable(p.email);
this.recht = p.nivo_id;
}
if (ls.ColofonModel !== undefined){
ls.ColofonModel.initModel();
}
else {
ls.ColofonModel = {
selectedSchool : ko.observable(),
schoolgegevens : ko.observable(),
aanhef : ko.observableArray([{id: 1, naam: 'Mevrouw'},
{id:2, naam:"Mijnheer"}]),
selectedAanhef : ko.observable(),
leerkrachten : ko.observableArray([]),
selectedLeerkracht : ko.observable(),
editLK : ko.observable(),
writer : ko.observable(false),
initBindings :function(){
var self = ls.ColofonModel;
if (!ko.dataFor(document.getElementById('bindColofon')) ) {
ko.applyBindings(ls.ColofonModel, document.getElementById("bindColofon"));
}
self.initModel();
},
initModel: function(){
var self= ls.ColofonModel;
self.selectedSchool(ls.MenuModel.selectedSchool());
self.fChangeSchool();
},
fCheckwrite: function(){
var self= ls.ColofonModel;
$.post("index.php/shared/autorisatienivos/getwriteautorisatie/" + self.selectedSchool().id, function(result){
self.writer(result);
},'json');
},
fUpdateSchoolgegevens : function(){
var self= ls.ColofonModel;
if (timer){
clearTimeout(timer);
timeout = null;
}
timer = setTimeout(function(){
var submitData={orgid : self.schoolgegevens().orgid,
naam : self.schoolgegevens().naam(),
detailsid : self.schoolgegevens().detailsid,
straat : self.schoolgegevens().straat(),
plaats : self.schoolgegevens().plaats(),
telefoon : self.schoolgegevens().telefoon(),
email1 : self.schoolgegevens().email1(),
web : self.schoolgegevens().web(),
directie : self.schoolgegevens().directie(),
ib : self.schoolgegevens().ib(),
email2 : self.schoolgegevens().email2() };
$.post("index.php/monpas/schoolgegevens/updatedetails",submitData, function(resultid){
if (self.schoolgegevens().detailsid == null) self.schoolgegevens().detailsid = resultid;
},'json');
},700);
},
fChangeSchool:function(){
var self = ls.ColofonModel;
if ( !self.selectedSchool() || self.selectedSchool() == null ){
self.schoolgegevens(null);
self.leerkrachten.removeAll();
return;
}
$.post("index.php/monpas/schoolgegevens/getschool/" + self.selectedSchool().id , function(result){
self.schoolgegevens({ orgid : null,
brin : '',
bgbrin: ko.observable(null),
naam: ko.observable(''),
detailsid: null,
straat: ko.observable(),
plaats: ko.observable(),
telefoon: ko.observable(),
email1: ko.observable(),
web: ko.observable(),
directie: ko.observable(),
ib: ko.observable(),
email2: ko.observable()
}); // self schoolgegevens\
if (result.org){
self.schoolgegevens().orgid = result.org.id;
self.schoolgegevens().brin = result.org.brin;
self.schoolgegevens().bgbrin(result.org.bgbrin);
self.schoolgegevens().naam(result.org.naam);
}; // if result
if (result.details){
self.schoolgegevens().detailsid=result.details.id;
self.schoolgegevens().straat(result.details.straat);
self.schoolgegevens().plaats(result.details.plaats);
self.schoolgegevens().telefoon(result.details.telefoon);
self.schoolgegevens().email1(result.details.email1);
self.schoolgegevens().web(result.details.web);
self.schoolgegevens().directie(result.details.directie);
self.schoolgegevens().ib(result.details.ib);
self.schoolgegevens().email2(result.details.email2);
}; // if result
self.fGetLeerkrachten();
self.fCheckwrite();
},'json');
},
fGetLeerkrachten: function(){
var self = ls.ColofonModel;
if (!self.selectedSchool()) return;
$.post("index.php/monpas/schoolgegevens/getleerkrachten/" + self.selectedSchool().id, function(result){
self.leerkrachten.removeAll();
if (result){
$.each(result, function(i,p){
self.leerkrachten.push(new fAddLeerkracht(p));
}); // each
}
},'json');
},
fDeleteLeerkracht: function(){
var self =ls.ColofonModel;
var dit = this;
apprise("Weet u zeker dat u " + this.achternaam() +" wilt verwijderen? " , {verify:true, textYes:'ja', textNo:'nee'},
function(ans){
if (ans){
var sd = {userid : dit.id,
schoolid :self.selectedSchool().id}
$.post("index.php/monpas/schoolgegevens/deleteleerkracht",sd, function(error){
if (error > '') apprise(error)
else self.leerkrachten.remove(dit);
},'json');
}
});//apprise
},
fEditLeerkracht: function(){
var self = ls.ColofonModel;
self.selectedLeerkracht(this);
self.editLK({
id : self.selectedLeerkracht().id,
aanhef : ko.observable(self.selectedLeerkracht().aanhef()),
voornaam : ko.observable(self.selectedLeerkracht().voornaam() ),
tussenvoegsel : ko.observable(self.selectedLeerkracht().tussenvoegsel()),
achternaam : ko.observable(self.selectedLeerkracht().achternaam()),
email : ko.observable(self.selectedLeerkracht().email()),
});
$.each(self.aanhef(), function(i,p){
if (p.id == self.editLK().aanhef()) {
self.selectedAanhef(p);
return false;
}
}); // each
$("#modNewEditLeerkracht").modal('show');
},
fNewLeerkracht: function(){
var self = ls.ColofonModel;
self.selectedAanhef(self.aanhef()[0]);
self.editLK({
id : null,
aanhef : ko.observable(1),
voornaam : ko.observable(''),
tussenvoegsel : ko.observable(''),
achternaam : ko.observable(''),
email : ko.observable(''),
});
$("#modNewEditLeerkracht").modal('show');
},
fUpdateLK: function(){
var self = ls.ColofonModel;
var submitData={ id : self.editLK().id,
orgid : self.selectedSchool().id,
aanhef : self.selectedAanhef().id,
voornaam : self.editLK().voornaam(),
tussenvoegsel : self.editLK().tussenvoegsel(),
achternaam : self.editLK().achternaam(),
email : self.editLK().email()};
$.post("index.php/monpas/schoolgegevens/updateinsertLK", submitData, function(LK){
if (LK){
if (self.editLK().id == null){
self.leerkrachten.push(new fAddLeerkracht(LK));
}
else {
self.selectedLeerkracht().aanhef( self.selectedAanhef().id);
self.selectedLeerkracht().voornaam (self.editLK().voornaam());
self.selectedLeerkracht().tussenvoegsel(self.editLK().tussenvoegsel());
self.selectedLeerkracht().achternaam(self.editLK().achternaam());
self.selectedLeerkracht().email(self.editLK().email());
}
}
$("#modNewEditLeerkracht").modal('hide');
},'json');
}
} ; // definition van model
ls.ColofonModel.initBindings();
}; // else
}// function initColofonModel
});
@@ -0,0 +1,296 @@
$(function(){
ls.initBestedingenModel = function(){
var timeout;
function fAddKalenderjaar(p){
this.jaarnr = p.jaarnr;
this.naam = p.naam;
}
function fAddBedrag(p){
this.id = p.id;
this.bedrag = ko.observable(p.bedrag.replace('.', ','));
this.fbedrag = ko.computed(function(){
invoer=String( this.bedrag());
invoer= invoer.replace(',' , '.');
invoer=parseFloat(invoer)
invoer = Math.round(invoer * 100) / 100;
return invoer.format(2,3,'.',',');
},this);
this.soort = p.soort;
this.omschrijving = ko.observable(p.omschrijving);
this.labelnr = ko.observable(p.labelnr);
}
if (ls.BestedingenModel !== undefined){
ls.BestedingenModel.initModel();
}
else {
ls.BestedingenModel = {
writer : ko.observable(false),
// isschool : ko.observable(false),
kalenderjaren : ko.observableArray([]),
selectedKalenderjaar : ko.observable(),
jaartoewijzing : ko.observable(),
basis : ko.observableArray(),
extra : ko.observableArray(),
som : ko.observableArray(),
overig : ko.observableArray(),
bestemmingslabels : ko.observableArray(),
selectedLabel : ko.observable(), // bestemmingssoort (thema, leerling, groepu)
newOmschrijving : ko.observable(''),
newBedrag : ko.observable(0),
newOndersteuningSoort : ko.observable(0), //ondersteuningstype ( basis/extra/som/overig)
soortnaam : ko.observable(''), // naam van het ondersteuningstype
basisgeopend : ko.observable(false),
extrageopend : ko.observable(false),
somgeopend : ko.observable(false),
overiggeopend : ko.observable(false),
totaalextra : ko.observable(),
totaalsom : ko.observable(),
totaaloverig : ko.observable(),
opmerking : ko.observable(''),
jaarclosed : ko.observable(true),
initBindings :function(){
var self = ls.BestedingenModel;
if (!ko.dataFor(document.getElementById('pagmonfinbestedingen')) ) {
ko.applyBindings(ls.BestedingenModel, document.getElementById("pagmonfinbestedingen"));
}
$.post("index.php/monpas/monfinbestedingen/getconstants", function(result){
self.writer(result.writer);
if (result.kalenderjaren){
$.each(result.kalenderjaren, function(i,p){
self.kalenderjaren.push(new fAddKalenderjaar(p));
}); // each
self.selectedKalenderjaar(self.kalenderjaren()[0]);
};
self.bestemmingslabels(result.labels);
},'json');
self.initModel();
},
initModel: function(){
var self = ls.BestedingenModel;
self.fGetBestedingen();
},
fGetBestedingen: function(){
var self = ls.BestedingenModel;
if (!self.selectedKalenderjaar()) return;
var sd ={jaarnr:self.selectedKalenderjaar().jaarnr}
$.post("index.php/monpas/monfinbestedingen/getbestedingen", sd, function(data){
if (data.jaartoewijzing){
self.jaartoewijzing(data.jaartoewijzing);
}
else {self.jaartoewijzing(false);}
self.jaarclosed(data.jaarclosed);
self.basis.removeAll();
self.extra.removeAll();
self.som.removeAll();
self.overig.removeAll();
self.opmerking('');
if (data.bestedingen){
$.each(data.bestedingen, function(i,p){
switch (parseInt(p.soort)){
case 1: self.basis.push(new fAddBedrag(p)); break;
case 2: self.extra.push(new fAddBedrag(p)); break;
case 3: self.som.push(new fAddBedrag(p)); break;
case 4: self.overig.push(new fAddBedrag(p)); break;
}; // switch
});// each
};// if
self.opmerking(data.opmerking);
},'json');
},
fUpdateBedrag: function(){
var self = ls.BestedingenModel;
if (self.jaarclosed()) return;
var dit = this;
if (timeout){
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(function(){
invoer=String(dit.bedrag());
invoer= invoer.replace(',' , '.');
invoer=parseFloat(invoer)
invoer = Math.round(invoer * 100) ;
var sd = {id : dit.id,
bedrag : invoer}
$.post("index.php/monpas/monfinbestedingen/updatebedrag", sd);
},600);
},
fDeleteBedrag: function(wat){
var self =ls.BestedingenModel;
if (self.jaarclosed()) return;
var dit = this;
apprise('Weet u zeker dat u <i>' + dit.omschrijving() + "</i> wilt verwijderen?", {verify:true, textYes: 'ja', textNo:'nee'},
function(ans){
if (ans){
var sd ={id : dit.id}
$.post("index.php/monpas/monfinbestedingen/deletebedrag", sd, function(){
switch (wat){
case 1: self.basis.remove(dit); break;
case 2: self.extra.remove(dit); break;
case 3: self.som.remove(dit); break;
case 4: self.overig.remove(dit);break;
}; // switch
}); // post
}
}); // apprise
},
fUpdateOmschrijving: function(){
var self =ls.BestedingenModel;
if (self.jaarclosed()) return;
var dit = this;
if (timeout){
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(function(){
var sd = {id : dit.id,
omschrijving: dit.omschrijving()}
$.post("index.php/monpas/monfinbestedingen/updateomschrijving", sd);
},500);
},
fUpdateLabel: function(){
var self =ls.BestedingenModel;
if (self.jaarclosed()) return;
var sd = { id : this.id,
labelnr : this.labelnr()};
$.post("index.php/monpas/monfinbestedingen/updatelabel", sd);
},
fNewBedrag: function(wat){
var self = ls.BestedingenModel;
if (self.jaarclosed()) return;
if (!self.selectedLabel()){
self.selectedLabel(self.bestemmingslabels()[0]);
};
self.newOmschrijving('');
self.newBedrag('');
self.newOndersteuningSoort(wat);
switch (wat){
case 1: self.soortnaam('basisondersteuning'); break;
case 2: self.soortnaam('extra ondersteuning'); break;
case 3: self.soortnaam('ondersteuning'); break;
case 4: self.soortnaam('overig'); break;
}; // switch
$("#modNewBedrag").modal('show');
},
fSaveNewBedrag:function(){
var self = ls.BestedingenModel;
if (self.jaarclosed()) return;
var invoer=String(self.newBedrag());
invoer= invoer.replace(',' , '.');
invoer=parseFloat(invoer)
invoer = Math.round(invoer * 100) ;
var sd ={
jaarnr : self.selectedKalenderjaar().jaarnr,
soortondersteuning: self.newOndersteuningSoort(),
omschrijving : self.newOmschrijving(),
bedrag : invoer,
labelnr : self.selectedLabel().labelnr}
$.post("index.php/monpas/monfinbestedingen/insertbesteding", sd, function(result){
switch(self.newOndersteuningSoort()){
case 1: self.basis.unshift(new fAddBedrag(result)); break;
case 2: self.extra.unshift(new fAddBedrag(result)); break;
case 3: self. som.unshift(new fAddBedrag(result)); break;
case 4: self.overig.unshift(new fAddBedrag(result)); break;
}; // switch
$("#modNewBedrag").modal('hide');
},'json');
},
fToggle: function(wat){
switch(wat){
case 1:this.basisgeopend(!this.basisgeopend()); break;
case 2:this.extrageopend(!this.extrageopend()); break;
case 3:this.somgeopend(!this.somgeopend()); break;
case 4:this.overiggeopend(!this.overiggeopend()); break;
};// switch
},
fSaveOpmerking: function(){
var self= ls.BestedingenModel;
if (self.jaarclosed()) return;
if (timeout){
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(function(){
var sd = {jaarnr: self.selectedKalenderjaar().jaarnr ,
opmerking: self.opmerking()}
$.post("index.php/monpas/monfinbestedingen/saveopmerking", sd);
},500);
}
} ; // definition van model
ls.BestedingenModel.totaalbasis = ko.computed(function(){
var som =0;
var invoer = 0;
$.each(this.basis(), function(i,p){
invoer=String(p.bedrag());
invoer= invoer.replace(',' , '.');
invoer=parseFloat(invoer)
invoer = Math.round(invoer * 100) / 100;
som = som + invoer;
})
return som.format(2,3,'.',',');
},ls.BestedingenModel);
ls.BestedingenModel.totaalextra = ko.computed(function(){
var som =0;
var invoer = 0;
$.each(this.extra(), function(i,p){
invoer=String(p.bedrag());
invoer= invoer.replace(',' , '.');
invoer=parseFloat(invoer)
invoer = Math.round(invoer * 100) / 100;
som = som + invoer;
})
return som.format(2,3,'.',',');
},ls.BestedingenModel);
ls.BestedingenModel.totaalsom = ko.computed(function(){
var som =0;
var invoer = 0;
$.each(this.som(), function(i,p){
invoer=String(p.bedrag());
invoer= invoer.replace(',' , '.');
invoer=parseFloat(invoer)
invoer = Math.round(invoer * 100) / 100;
som = som + invoer;
})
return som.format(2,3,'.',',');
},ls.BestedingenModel);
ls.BestedingenModel.totaaloverig = ko.computed(function(){
var som =0;
var invoer = 0;
$.each(this.overig(), function(i,p){
invoer=String(p.bedrag());
invoer= invoer.replace(',' , '.');
invoer=parseFloat(invoer)
invoer = Math.round(invoer * 100) / 100;
som = som + invoer;
})
return som.format(2,3,'.',',');
},ls.BestedingenModel);
ls.BestedingenModel.initBindings();
}; // else
}// function initBestedingenModel
});
@@ -0,0 +1,262 @@
$(function(){
function fAddOrg(p, targetid){
var dit = this;
this.geopend = ko.observable(true);
this.id = p.id
if (this.id !== undefined || this.id <=0) {this.geopend(false);}
this.fnaam = p.brin + ' - ' + p.naamkort;
this.soort = p.soort
this.suborgs = ko.observableArray([]);
if (p.kamers){
$.each(p.kamers, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.bgs){
$.each(p.bgs, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.scholen){
$.each(p.scholen, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.id == targetid){
ls.MonfinBeheerModel.selectedOrg(this);
}
}
function fAddBedrag(p){
this.id = p.id
this.kalenderjaar = p.naam;
this.jaarnr = p.jaarnr;
this.basisextra = ko.observable(p.basisextra);
this.basisextravast = ko.observable(p.basisextravast);
this.basis = ko.observable(p.basis);
if (this.basis() >=0) this.basis(p.basis/100)
else this.basis(0);
this.extra = ko.observable(p.extra);
if (this.extra() >=0) this.extra(p.extra / 100)
else this.extra(0);
this.som = ko.observable(p.som/100);
this.computedsom = ko.computed(function(){
var basis = String(this.basis());
basis = basis.replace(',' , '.');
basis = parseFloat(basis);
if (isNaN(basis)) basis =0 ;
var extra=String(this.extra());
extra = extra.replace(',' , '.');
extra = parseFloat(extra);
if (isNaN(extra)) extra = 0;
var som= Math.round((basis + extra) * 100)/100;
if (som == "NaN") {return 0}
else {return som.format(2,3,'.',',') }
},this)
this.overig = ko.observable(p.overig);
if (this.overig() >=0) this.overig(p.overig/100);
this.vastgelegd = ko.observable(p.vastgelegd);
this.jaarclosed = ko.observable(true);
if (p.jaarclosed == "F"){this.jaarclosed(false); }
this.screensom = ko.computed(function(){
var ssom;
if (this.basisextra() ==1){
ssom=this.computedsom() }
else { ssom = String(this.som());
ssom = ssom.replace(',' , '.');
ssom = parseFloat(ssom);
if (isNaN(ssom)) ssom =0 ;
ssom = ssom.format(2,3,'.',',');
}
return ssom
},this)
this.screenbasis = ko.computed(function(){
var ssom = String(this.basis());
ssom = ssom.replace(',' , '.');
ssom = parseFloat(ssom);
if (isNaN(ssom)) ssom =0 ;
return ssom.format(2,3,'.',',');
},this)
this.screenextra = ko.computed(function(){
var ssom = String(this.extra());
ssom = ssom.replace(',' , '.');
ssom = parseFloat(ssom);
if (isNaN(ssom)) ssom =0 ;
return ssom.format(2,3,'.',',');
},this)
this.screenoverig = ko.computed(function(){
var ssom = String(this.overig());
ssom = ssom.replace(',' , '.');
ssom = parseFloat(ssom);
if (isNaN(ssom)) ssom =0 ;
return ssom.format(2,3,'.',',');
},this)
}
ls.initMonfinBeheerModel = function(){
if (ls.MonfinBeheerModel !== undefined){
ls.MonfinBeheerModel.initModel();
}
else {
ls.MonfinBeheerModel = {
orgs : ko.observableArray(),
selectedOrg : ko.observable(),
bedragen : ko.observableArray([]),
initBindings :function(){
var self = ls.MonfinBeheerModel;
if (!ko.dataFor(document.getElementById('pagmonfinbeheer')) ) {
ko.applyBindings(ls.MonfinBeheerModel, document.getElementById("pagmonfinbeheer"));
}
$.post("index.php/monpas/monfinbeheer/getorgs", function(result){
self.orgs.removeAll();
if (result.structuur) {
self.orgs.push(new fAddOrg(result.structuur,result.org.id));
};
if (self.selectedOrg()) {self.fGetBedragen();}
},'json');
},
initModel: function(){
},
fToggle: function(){
this.geopend(!this.geopend());
},
fSetSelected: function(){
var self = ls.MonfinBeheerModel;
self.selectedOrg(this);
self.fGetBedragen()
},
fGetBedragen: function(){
var self = ls.MonfinBeheerModel;
if (!self.selectedOrg() ) return;
$.post("index.php/monpas/monfinbeheer/getbedragen/"+ self.selectedOrg().id, function(result){
self.bedragen.removeAll();
if (result){
$.each(result, function(i,p){
self.bedragen.push(new fAddBedrag(p));
}); // each
}; // if
},'json');
},
fUpdatebedrag:function(wat){
var self = ls.MonfinBeheerModel;
var bedrag;
var dit = this;
if (dit.jaarclosed() ) return;
var sd = self.fMaakSubmitData(dit);
$.post("index.php/monpas/monfinbeheer/updateorinsert",sd,function(newid){
if (newid)dit.id=newid;
});
},
fLegVast:function(){
var self = ls.MonfinBeheerModel;
var dit = this;
if (dit.jaarclosed() ) return;
apprise("Weet u zeker dat u de toegewezen bedragen voor " +this.kalenderjaar + " wilt vastleggen? <br> U kunt dan geen wijzigingen meer aanbrengen.",
{verify:true , textYes:'ja', textNo:'nee'}, function(ans){
if (ans) {
var sd =self.fMaakSubmitData(dit);
$.post("index.php/monpas/monfinbeheer/legvast",sd,function(newid){
if (newid) dit.id = newid;
dit.vastgelegd(true);
});
}
});
},
fMaakSubmitData :function(dit){
var self = ls.MonfinBeheerModel;
var ssom;
var basis = String(dit.basis());
if (basis == null) basis =0;
var extra = String(dit.extra());
if (extra == null) extra = 0;
var overig =String(dit.overig());
if (overig == null) overig = 0;
var som = String(dit.som());
if (som== null) som = 0;
if (dit.basisextra()==1) ssom= parseFloat(basis.replace(',' , '.') ) * 100 + parseFloat(extra.replace(',' , '.')) * 100
else ssom = parseFloat(som.replace(',' , '.' )) * 100
var sd = {id : dit.id,
orgid : self.selectedOrg().id,
jaarnr : dit.jaarnr,
basis : parseFloat(basis.replace(',' , '.') ) * 100,
extra : parseFloat(extra.replace(',' , '.')) * 100,
som : ssom,
overig : parseFloat(overig.replace(',' ,'.')) * 100,
basisextra : dit.basisextra()}
return sd;
},
fLegBasisextravast : function(){
var self = ls.MonfinBeheerModel;
var dit = this;
if (dit.jaarclosed() ) return;
if (!dit.basisextra() || dit.basisextra() == null) return;
apprise('Weet u zeker dat u het onderscheid voor kalenderjaar ' + dit.kalenderjaar + " wilt vastleggen? <br> U kunt dit niet ongedaan maken.",
{verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
if (ans){
var sd =self.fMaakSubmitData(dit);
$.post('index.php/monpas/monfinbeheer/legbasisextravast', sd, function(newid){
if (newid) dit.id=newid;
dit.basisextravast(1);
});
}
});
},
fUpdateBE: function(){
var self = ls.MonfinBeheerModel;
var dit = this;
if (dit.jaarclosed() ) return;
var sd =self.fMaakSubmitData(dit);
$.post('index.php/monpas/monfinbeheer/savebasisextra', sd, function(newid){
if (newid) dit.id=newid;
});
return true;
},
fJaarAfsluiten: function(){
var self = ls.MonfinBeheerModel;
var dit = this;
if (dit.jaarclosed() || !self.selectedOrg() || self.selectedOrg().soort !=1) return;
apprise("U gaat het jaar afsluiten voor alle organisaties. U kunt deze handeling niet ongedaan maken. <br> Weet u zeker dat u wilt doorgaan?",
{verify:true, textYes:'ja', textNo:'nee'}, function(ans){
if (ans){
var sd ={jaarnr : dit.jaarnr,
swv : self.selectedOrg().id }
$.post('index.php/monpas/monfinbeheer/sluitjaaraf', sd, function(res){
self.fGetBedragen
});
};// if ans
}); // apprise
}
} ; // definition van model
ls.MonfinBeheerModel.initBindings();
}; // else
}// function initMonfinBeheerModel
});
@@ -0,0 +1,213 @@
$(function(){
ls.initMonfinOverzichtModel = function(){
if (ls.MonfinOverzichtModel !== undefined){
ls.MonfinOverzichtModel.initModel();
}
else {
ls.MonfinOverzichtModel = {
orgs : ko.observableArray(),
selectedOrg : ko.observable(),
schoolbedragen : ko.observableArray([]),
schooltotaal : ko.observable(''),
kalenderjaren : ko.observableArray(),
selectedKalenderjaar : ko.observable(),
zelfjanee : ko.observable('1'),
basisextra : ko.observable(true),
borganisaties : ko.observableArray([]), //organisatiebudgetten en uitgaven
sumarray : ko.observable(''),
targetorg : ko.observable(''),
grandtot : ko.observable(''),
opmerking : ko.observable(''),
initBindings :function(){
var self = ls.MonfinOverzichtModel;
if (!ko.dataFor(document.getElementById('pagmonfinoverzicht')) ) {
ko.applyBindings(ls.MonfinOverzichtModel, document.getElementById("pagmonfinoverzicht"));
}
$.post("index.php/monpas/monfinoverzicht/getkalenderjaren", function(data){
self.kalenderjaren.removeAll();
if (data){
$.each(data, function(j,k){
self.kalenderjaren.push(new fAddKalenderjaar(k));
}); // each
self.selectedKalenderjaar(self.kalenderjaren()[0]);
}
$.post("index.php/monpas/monfinbeheer/getorgs", function(result){
self.orgs.removeAll();
if (result.structuur) {
self.orgs.push(new fAddOrg(result.structuur,result.org.id));
};
if (self.selectedOrg()) {self.fGetBedragen();}
},'json');
},'json'); //getkalenderjaren
},
initModel: function(){
var self = ls.MonfinOverzichtModel;
self.fGetBedragen();
},
fGetBedragen: function(){
var self = ls.MonfinOverzichtModel;
if (!self.selectedOrg() || !self.selectedKalenderjaar()) return;
if (self.zelfjanee()==1 || self.selectedOrg().soort==4){
var sd={orgid : self.selectedOrg().id,
jaarnr : self.selectedKalenderjaar().jaarnr}
$.post("index.php/monpas/monfinoverzicht/getschoolbedragen", sd, function(result){
self.schoolbedragen.removeAll();
self.schooltotaal( result.schooltotaal) ;
if (result.sompersoort){
$.each(result.sompersoort, function(i,p){
self.schoolbedragen.push(new fAddBedrag(i,p));
});// each
}; // if
self.opmerking(result.opmerking);
},'json');
} // if zelfjanee = true
else{
var sd={orgid : self.selectedOrg().id,
jaarnr : self.selectedKalenderjaar().jaarnr}
$.post("index.php/monpas/monfinoverzicht/getbestuursbedragen", sd, function(result){
self.basisextra(result.basisextra);
self.borganisaties.removeAll();
if (result.organisaties){
$.each(result.organisaties, function(i,p){
self.borganisaties.push(new fAddBorganisatie(p));
}); // each
}; // if organisaties
self.sumarray('');
self.sumarray({basis : (parseFloat(result.sumarray.basisuit) / 100).format(0,3, '.' , ','),
extra : (parseFloat(result.sumarray.extrauit) / 100).format(0,3, '.' , ','),
besom : (parseFloat(result.sumarray.besomuit) / 100).format(0,3, '.' , ','),
overig : (parseFloat(result.sumarray.overiguit) / 100).format(0,3, '.' , ','),
totaal : (parseFloat(result.sumarray.totaaluit) / 100).format(0,3, '.' , ','),
totaalbudget: (parseFloat(result.sumarray.totaalbudget) / 100).format(0,3, '.' , ','),
verschil : (parseFloat(parseInt(result.sumarray.totaalbudget) - parseInt(result.sumarray.totaaluit)) / 100).format(0,3, '.' , ',')
});
self.targetorg('');
self.targetorg(new fAddBorganisatie(result.targetorg));
self.grandtot('');
self.grandtot({basis : (parseFloat(result.grandtot.basisuit) / 100).format(0,3, '.' , ','),
extra : (parseFloat(result.grandtot.extrauit) / 100).format(0,3, '.' , ','),
besom : (parseFloat(result.grandtot.besomuit) / 100).format(0,3, '.' , ','),
overig : (parseFloat(result.grandtot.overiguit) / 100).format(0,3, '.' , ','),
totaal : (parseFloat(result.grandtot.totaaluit) / 100).format(0,3, '.' , ','),
totaalbudget: (parseFloat(result.grandtot.totaalbudget) / 100).format(0,3, '.' , ','),
verschil : (parseFloat(result.grandtot.verschil) / 100).format(0,3, '.' , ',')
});
},'json');
}
return true;
},
fToggle :function(){
this.geopend(!this.geopend());
},
fSetSelected: function(){
var self = ls.MonfinOverzichtModel;
self.selectedOrg(this);
self.fGetBedragen()
},
fMaakPDF: function(){
var self = ls.MonfinOverzichtModel;
if (!self.selectedOrg() || !self.selectedKalenderjaar()) {return;};
if (self.selectedOrg().soort == 4 || self.zelfjanee() == 1){
var orgtable = document.getElementById("mytesttable").outerHTML;
}
else{
var orgtable=document.getElementById("suborgtable").outerHTML;
}
var data ={ orgnaam : self.selectedOrg().fnaam,
kalenderjaar : self.selectedKalenderjaar().naam,
orgtable : orgtable}
data=JSON.stringify(data);
var $form = $("<form method='post' action='index.php/monpas/monfinoverzicht/overzichtPDF' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
}
} ; // definition van model
ls.MonfinOverzichtModel.initBindings();
}; // else
}// function initMonfinOverzichtModel
function fAddOrg(p, targetid){
var dit = this;
this.geopend = ko.observable(true);
this.id = p.id
if (this.id !== undefined || this.id <=0) {this.geopend(false);}
this.fnaam = p.brin + ' - ' + p.naamkort;
this.soort = p.soort
this.suborgs = ko.observableArray([]);
if (p.kamers){
$.each(p.kamers, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.bgs){
$.each(p.bgs, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.scholen){
$.each(p.scholen, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.id == targetid){
ls.MonfinOverzichtModel.selectedOrg(this);
}
}
function fAddKalenderjaar(p){
this.jaarnr = p.jaarnr;
this.naam = p.naam;
}
function fAddBedrag(i,p){
var dit = this;
dit.soortbestemming= p.naam;
var verschil = parseFloat(p.budget) - parseFloat(p.totsoort);
this.soorttotaal = (parseFloat(p.totsoort) / 100).format(2,3, '.' , ',');
this.soortbudget = (parseFloat(p.budget)/ 100).format(2,3, '.' , ',');
this.soortverschil = (verschil / 100).format(2,3, '.' , ',');
this.labels = ko.observableArray([]);
if (p.labels){
$.each(p.labels, function(j,k){
k.som=(parseFloat(k.som) / 100).format(2,3, '.' , ',')
if (k.details){
$.each(k.details, function(teller, detail){
detail.bedrag = (parseFloat(detail.bedrag) / 100).format(2,3, '.' , ',');
}); //each
}
dit.labels.push( {k:k,
geopend: ko.observable(false) });
});
}; // if p.labels
}
function fAddBorganisatie(p){
this.naam = p.brin + ' ' + p.naamkort;
this.basis = (parseFloat(p.bestedingen.basis) / 100).format(0,3, '.' , ',');
this.extra = (parseFloat(p.bestedingen.extra) / 100).format(0,3, '.' , ',');
this.besom = (parseFloat(p.bestedingen.besom) / 100).format(0,3, '.' , ',');
this.overig = (parseFloat(p.bestedingen.overig) / 100).format(0,3, '.' , ',');
this.totaal = (parseFloat(p.bestedingen.totaal) / 100).format(0,3, '.' , ',');
this.basisbudget = (parseFloat(p.budgetten.basis) / 100).format(0,3, '.' , ',');
this.extrabudget = (parseFloat(p.budgetten.extra) / 100).format(0,3, '.' , ',');
this.besombudget = (parseFloat(p.budgetten.som) / 100).format(0,3, '.' , ',');
this.overigbudget = (parseFloat(p.budgetten.overig) / 100).format(0,3, '.' , ',');
this.totaalbudget = (parseFloat(p.budgetten.totaal) / 100).format(0,3, '.' , ',');
var verschil = 0;
if (p.budgetten){
verschil= parseInt(p.budgetten.totaal) - parseInt(p.bestedingen.totaal);
}
this.verschil = (parseFloat(verschil) / 100).format(0,3, '.' , ',');
}
});
@@ -0,0 +1,227 @@
$(function(){
ls.initBestemmingenModel = function(){
var timeout;
function fAddKalenderjaar(p){
this.jaarnr = p.jaarnr;
this.naam = p.naam;
}
function fAddBasissoort(k){
var dit = this;
this.soortID = k.soortID
this.naam = k.naam
this.subsoorten = ko.observableArray([]);
if (k.subsoorten){
$.each(k.subsoorten, function(a,b){
dit.subsoorten.push(new fAddSubsoort(b, k.categorie));
});
}
}
function fAddSubsoort(p,categorie){
var dit = dit;
this.subsoortID = p.subsoortID;
this.naam = p.naam;
this.categorie = categorie
this.uitgavetypes = ko.observableArray()
var dit = this;
if (p.uitgavetypes){
$.each(p.uitgavetypes, function(i,k){
dit.uitgavetypes.push(new fAddUitgavetype(k));
});
}
}
function fAddUitgavetype(k){
this.finbestemmingID = k.id
this.code = k.code
this.bedrag = ko.observable(k.bedrag);
this.formatted = ko.observable(parseFloat(k.bedrag).format(2,3,'.',','));
if (parseFloat(k.bedrag) <= 0) this.formatted('');
}
if (ls.BestemmingenModel !== undefined){
ls.BestemmingenModel.initModel();
}
else {
ls.BestemmingenModel = {
writer : ko.observable(false),
kalenderjaren : ko.observableArray([]),
selectedKalenderjaar : ko.observable(),
jaartoewijzing : ko.observable(),
targetjaar : ko.observable(2017), //het jaar waarin met moet werken
uitgavetypes : ko.observableArray(),
basissoorten : ko.observableArray(),
extrasoorten : ko.observableArray(),
opmerking : ko.observable(''),
jaarclosed : ko.observable(true),
bezig : ko.observable(false),
basisgeopend : ko.observable(false),
extrageopend : ko.observable(false),
totaalextra : ko.observable(),
totaalbasis : ko.observable(),
initBindings :function(){
var self = ls.BestemmingenModel;
if (!ko.dataFor(document.getElementById('pagmonfinbestemmingen2')) ) {
ko.applyBindings(ls.BestemmingenModel, document.getElementById("pagmonfinbestemmingen2"));
}
$.post("index.php/monfin2/bestemmingen/getconstants", function(result){
self.writer(result.writer);
if (result.kalenderjaren){
$.each(result.kalenderjaren, function(i,p){
self.kalenderjaren.push(new fAddKalenderjaar(p));
}); // each
self.selectedKalenderjaar(self.kalenderjaren()[0]);
self.targetjaar(result.targetjaar);
};
},'json');
$.post("index.php/monfin2/bestemmingen/getUitgavetypes", function(result){
self.uitgavetypes.removeAll();
self.uitgavetypes(result);
self.initModel();
},'json');
},
initModel: function(){
var self = ls.BestemmingenModel;
},
fGetAllBestemmingen: function(){
var self = ls.BestemmingenModel;
if (!self.selectedKalenderjaar()) return;
self.fGetBestemmingen();
},
fGetBestemmingen: function(){
var self = ls.BestemmingenModel;
if (!self.selectedKalenderjaar()) return;
var sd ={jaarnr:self.selectedKalenderjaar().jaarnr}
$.post("index.php/monfin2/bestemmingen/getBestemmingen", sd, function(data){
if (data.jaartoewijzing){
self.jaartoewijzing(data.jaartoewijzing);
}
else {self.jaartoewijzing(false);}
self.jaarclosed(data.jaarclosed);
self.basissoorten.removeAll();
if (data.basisbestemmingen){
$.each(data.basisbestemmingen,function(j,k){
self.basissoorten.push(new fAddBasissoort(k));
});
}
self.extrasoorten.removeAll();
if (data.extrabestemmingen){
$.each(data.extrabestemmingen,function(j,k){
self.extrasoorten.push(new fAddBasissoort(k));
});
}
self.opmerking(data.opmerking);
},'json');
},
fSaveBedrag:function(){
var self = ls.BestemmingenModel;
if (self.jaarclosed()) return;
var dit = this;
invoer = dit.formatted();
if (invoer <= '' || ! invoer) invoer = '0'
invoer = invoer.split('.').join('');
invoer= invoer.replace(',' , '.');
if (isNaN( parseFloat(invoer) ) ) {
invoer =0;
}
else {
invoer=parseFloat(invoer)
}
dit.formatted(parseFloat(invoer).format(2,3,'.',','));
if (invoer <= 0) dit.formatted('');
dit.bedrag(invoer);
invoer = Math.round(invoer * 100) ;
var sd = {id : dit.finbestemmingID,
bedrag : invoer}
$.post("index.php/monfin2/bestemmingen/updatebedrag", sd);
},
fToggle: function(wat){
switch(wat){
case 1:this.basisgeopend(!this.basisgeopend()); break;
case 2:this.extrageopend(!this.extrageopend()); break;
};// switch
},
fSaveOpmerking: function(){
var self= ls.BestemmingenModel;
if (self.jaarclosed()) return;
if (timeout){
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(function(){
var sd = {jaarnr: self.selectedKalenderjaar().jaarnr ,
opmerking: self.opmerking()}
$.post("index.php/monfin2/bestemmingen/saveopmerking", sd);
},500);
}
} ; // definition van model
ls.BestemmingenModel.totaalbasis = ko.computed(function(){
var som =0;
var invoer = 0;
if (this.basissoorten()) {
$.each(this.basissoorten(), function(i,p){
if (p.subsoorten()) {
$.each(p.subsoorten(), function(a,b){
$.each(b.uitgavetypes(), function(o,s){
invoer=String(s.bedrag());
invoer= invoer.replace(',' , '');
if (! isNaN(invoer) ) {
invoer=parseFloat(invoer)
invoer = Math.round(invoer * 100) / 100;
som = som + invoer;
}
}); // each uitgavetypes
}); // each subsoorten
} // if subsoorten
}) // each soorten
} // if basissoorten
return som.format(2,3,'.',',');
},ls.BestemmingenModel);
ls.BestemmingenModel.totaalextra = ko.computed(function(){
var som =0;
var invoer = 0;
if (this.extrasoorten()) {
$.each(this.extrasoorten(), function(i,p){
if (p.subsoorten()) {
$.each(p.subsoorten(), function(a,b){
$.each(b.uitgavetypes(), function(o,s){
invoer=String(s.bedrag());
invoer= invoer.replace(',' , '');
if (! isNaN(invoer) ) {
invoer=parseFloat(invoer)
invoer = Math.round(invoer * 100) / 100;
som = som + invoer;
}
}); // each uitgavetypes
}); // each subsoorten
} // if subsoorten
}) // each soorten
} // if basissoorten
return som.format(2,3,'.',',');
},ls.BestemmingenModel);
ls.BestemmingenModel.initBindings();
}; // else
} // function initBestemmingenModel
});
@@ -0,0 +1,196 @@
$(function(){
function fAddOrg(p, targetid){
var dit = this;
this.geopend = ko.observable(true);
this.id = p.id
if (this.id !== undefined || this.id <=0) {this.geopend(false);}
this.fnaam = p.brin + ' - ' + p.naamkort;
this.soort = p.soort
this.suborgs = ko.observableArray([]);
if (p.kamers){
$.each(p.kamers, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.bgs){
$.each(p.bgs, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.scholen){
$.each(p.scholen, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.id == targetid){
ls.MonfinBeheer2Model.selectedOrg(this);
}
}
function fAddBedrag(p){
this.id = p.id
this.kalenderjaar = p.naam;
this.jaarnr = p.jaarnr;
this.basis = ko.observable(p.basis);
if (this.basis() >=0) this.basis(p.basis/100)
else this.basis(0);
this.extra = ko.observable(p.extra);
if (this.extra() >=0) this.extra(p.extra / 100)
else this.extra(0);
this.vastgelegd = ko.observable(p.vastgelegd);
this.jaarclosed = ko.observable(true);
if (p.jaarclosed == "F"){this.jaarclosed(false); }
this.screenbasis = ko.computed(function(){
var ssom = String(this.basis());
ssom = ssom.replace(',' , '.');
ssom = parseFloat(ssom);
if (isNaN(ssom)) ssom =0 ;
return ssom.format(2,3,'.',',');
},this)
this.screenextra = ko.computed(function(){
var ssom = String(this.extra());
ssom = ssom.replace(',' , '.');
ssom = parseFloat(ssom);
if (isNaN(ssom)) ssom =0 ;
return ssom.format(2,3,'.',',');
},this)
}
ls.initMonfinBeheer2Model = function(){
if (ls.MonfinBeheer2Model !== undefined){
ls.MonfinBeheer2Model.initModel();
}
else {
ls.MonfinBeheer2Model = {
orgs : ko.observableArray(),
selectedOrg : ko.observable(),
bedragen : ko.observableArray([]),
magwijzig : ko.observable(false),
initBindings :function(){
var self = ls.MonfinBeheer2Model;
if (!ko.dataFor(document.getElementById('pagmonfinbeheer2')) ) {
ko.applyBindings(ls.MonfinBeheer2Model, document.getElementById("pagmonfinbeheer2"));
}
$.post("index.php/monpas/monfinbeheer/getorgs", function(result){
self.orgs.removeAll();
if (result.structuur) {
self.orgs.push(new fAddOrg(result.structuur,result.org.id));
};
if (self.selectedOrg()) {self.fGetBedragen();}
self.magwijzig(result.magwijzig);
},'json');
},
initModel: function(){
},
fToggle: function(){
this.geopend(!this.geopend());
},
fSetSelected: function(){
var self = ls.MonfinBeheer2Model;
self.selectedOrg(this);
self.fGetBedragen()
},
fGetBedragen: function(){
var self = ls.MonfinBeheer2Model;
if (!self.selectedOrg() ) return;
$.post("index.php/monpas/monfinbeheer/getbedragen/"+ self.selectedOrg().id, function(result){
self.bedragen.removeAll();
if (result){
$.each(result, function(i,p){
self.bedragen.push(new fAddBedrag(p));
}); // each
}; // if
},'json');
},
fUpdatebedrag:function(wat){
var self = ls.MonfinBeheer2Model;
var bedrag;
var dit = this;
if (dit.jaarclosed() ) return;
var sd = self.fMaakSubmitData(dit);
$.post("index.php/monpas/monfinbeheer/updateorinsert",sd,function(newid){
if (newid)dit.id=newid;
});
},
fLegVast:function(){
var self = ls.MonfinBeheer2Model;
var dit = this;
if (dit.jaarclosed() ) return;
apprise("Weet u zeker dat u de toegewezen bedragen voor " +this.kalenderjaar + " wilt vastleggen? <br> U kunt dan geen wijzigingen meer aanbrengen.",
{verify:true , textYes:'ja', textNo:'nee'}, function(ans){
if (ans) {
var sd =self.fMaakSubmitData(dit);
$.post("index.php/monpas/monfinbeheer/legvast",sd,function(newid){
if (newid) dit.id = newid;
dit.vastgelegd(1);
});
}
});
},
fMaakSubmitData :function(dit){
var self = ls.MonfinBeheer2Model;
var ssom;
var basis = String(dit.basis());
if (basis == null) basis =0;
var extra = String(dit.extra());
if (extra == null) extra = 0;
var sd = {id : dit.id,
orgid : self.selectedOrg().id,
jaarnr : dit.jaarnr,
basis : parseFloat(basis.replace(',' , '.') ) * 100,
extra : parseFloat(extra.replace(',' , '.')) * 100
}
return sd;
},
fUpdateBE: function(){
var self = ls.MonfinBeheer2Model;
var dit = this;
if (dit.jaarclosed() ) return;
var sd =self.fMaakSubmitData(dit);
$.post('index.php/monpas/monfinbeheer/savebasisextra', sd, function(newid){
if (newid) dit.id=newid;
});
return true;
},
fJaarAfsluiten: function(){
var self = ls.MonfinBeheer2Model;
var dit = this;
if (dit.jaarclosed() || !self.selectedOrg() || self.selectedOrg().soort !=1) return;
apprise("U gaat het jaar afsluiten voor alle organisaties. U kunt deze handeling niet ongedaan maken. <br> Weet u zeker dat u wilt doorgaan?",
{verify:true, textYes:'ja', textNo:'nee'}, function(ans){
if (ans){
var sd ={jaarnr : dit.jaarnr,
swv : self.selectedOrg().id }
$.post('index.php/monpas/monfinbeheer/sluitjaaraf', sd, function(res){
self.fGetBedragen
});
};// if ans
}); // apprise
}
} ; // definition van model
ls.MonfinBeheer2Model.initBindings();
}; // else
}// function initMonfinBeheer2Model
});
@@ -0,0 +1,202 @@
$(function(){
ls.initMonfinOverzicht2Model = function(){
function fAddOrg(p, targetid){
var dit = this;
this.geopend = ko.observable(true);
this.id = p.id
if (this.id !== undefined || this.id <=0) {this.geopend(false);}
this.fnaam = p.brin + ' - ' + p.naamkort;
this.soort = p.soort
this.suborgs = ko.observableArray([]);
if (p.kamers){
$.each(p.kamers, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.bgs){
$.each(p.bgs, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.scholen){
$.each(p.scholen, function(j,k){
dit.suborgs.push(new fAddOrg(k,targetid));
});
}
if (p.id == targetid){
ls.MonfinOverzicht2Model.selectedOrg(this);
}
}
function fAddKalenderjaar(p){
this.jaarnr = p.jaarnr;
this.naam = p.naam;
}
if (ls.MonfinOverzicht2Model !== undefined){
ls.MonfinOverzicht2Model.initModel();
}
else {
ls.MonfinOverzicht2Model = {
orgs : ko.observableArray(),
selectedOrg : ko.observable(),
targetOrg : ko.observable(),
otherOrgs : ko.observableArray(),
pmsTargetOrg : ko.observable(),
otherPMSOrgs : ko.observableArray(),
sumotherPMS : ko.observableArray(),
sumtotPMS : ko.observableArray(),
subTot : ko.observable(),
grandTot : ko.observable(),
//schoolbedragen : ko.observableArray([]),
schooltotaal : ko.observable(''),
kalenderjaren : ko.observableArray(),
selectedKalenderjaar : ko.observable(),
zelfjanee : ko.observable('1'),
opmerking : ko.observable(),
uitgavetypes : ko.observableArray(),
basis : ko.observableArray(),
extra : ko.observableArray(),
sombasisperuitgavetype : ko.observableArray(),
somextraperuitgavetype : ko.observableArray(),
totsomperuitgavetype : ko.observableArray(),
basisgeopend : ko.observable(false),
extrageopend : ko.observable(false),
budgetten : ko.observableArray(),
initBindings :function(){
var self = ls.MonfinOverzicht2Model;
if (!ko.dataFor(document.getElementById('pagmonfinoverzicht2')) ) {
ko.applyBindings(ls.MonfinOverzicht2Model, document.getElementById("pagmonfinoverzicht2"));
}
$.post("index.php/monpas/monfinoverzicht/getkalenderjarenMetMax", function(data){
self.kalenderjaren.removeAll();
if (data){
$.each(data, function(j,k){
self.kalenderjaren.push(new fAddKalenderjaar(k));
}); // each
self.selectedKalenderjaar(self.kalenderjaren()[0]);
}
$.post("index.php/monpas/monfinbeheer/getorgs", function(result){
self.orgs.removeAll();
if (result.structuur) {
self.orgs.push(new fAddOrg(result.structuur,result.org.id));
};
if (self.selectedOrg()) {self.fGetBedragen();}
},'json');
},'json'); //getkalenderjaren
},
initModel: function(){
var self = ls.MonfinOverzicht2Model;
self.fGetBedragen();
},
fGetBedragen: function(){
var self = ls.MonfinOverzicht2Model;
if (!self.selectedOrg() || !self.selectedKalenderjaar()) return;
if (self.selectedOrg().soort == 4) { self.zelfjanee('1');};
if (self.zelfjanee()==1 || self.selectedOrg().soort==4){
var sd={orgid : self.selectedOrg().id,
jaarnr : self.selectedKalenderjaar().jaarnr}
$.post("index.php/monfin2/monfin2overzicht/getschoolbedragen", sd, function(result){
self.schooltotaal( result.schooltotaal) ;
self.uitgavetypes(result.uitgavetypes);
self.basis(result.basis);
self.extra(result.extra);
self.sombasisperuitgavetype(result.sombasisperuitgavetype);
self.somextraperuitgavetype(result.somextraperuitgavetype);
self.totsomperuitgavetype(result.totsomperuitgavetype);
self.budgetten(result.budgetten);
self.opmerking(result.opmerking);
},'json');
} // if zelfjanee = true
else{
if (self.zelfjanee() == 0 ){
var sd={orgid : self.selectedOrg().id,
jaarnr : self.selectedKalenderjaar().jaarnr}
$.post("index.php/monfin2/monfin2overzicht/getbestuursbedragen", sd, function(result){
self.otherOrgs.removeAll();
self.otherOrgs(result.others);
self.subTot(result.subtot);
self.grandTot(result.grandtot);
self.targetOrg(result.targetorg);
},'json');
} else if ( self.zelfjanee() ==3){
var sd={orgid : self.selectedOrg().id,
jaarnr : self.selectedKalenderjaar().jaarnr,
zelfjanee : self.zelfjanee()}
$.post("index.php/monfin2/monfin2overzicht/getschoolbedragenNieuw", sd, function(result){
self.schooltotaal( result.schooltotaal) ;
self.uitgavetypes(result.uitgavetypes);
self.basis(result.basis);
self.extra(result.extra);
self.sombasisperuitgavetype(result.sombasisperuitgavetype);
self.somextraperuitgavetype(result.somextraperuitgavetype);
self.totsomperuitgavetype(result.totsomperuitgavetype);
self.budgetten(result.budgetten);
self.opmerking(result.opmerking);
},'json');
} else {
var sd={orgid : self.selectedOrg().id,
jaarnr : self.selectedKalenderjaar().jaarnr}
$.post("index.php/monfin2/monfin2overzicht/getbestuurperuitgavetype", sd, function(result){
self.pmsTargetOrg(result.targetorg);
self.otherPMSOrgs(result.otherorgs);
self.sumotherPMS(result.sumother);
self.sumtotPMS(result.sumtot);
},'json');
}
}
return true;
},
fMaakPDF : function(){
var self = ls.MonfinOverzicht2Model;
var data = {html : $("#finoverzichtpage").html(),
jaar : self.selectedKalenderjaar().naam,
org : self.selectedOrg().fnaam,
soort : self.zelfjanee()}
data=JSON.stringify(data);
var $form = $("<form method='post' action='index.php/monfin2/monfin2overzicht/PdfFinancien' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
},
fToggle: function(wat){
var self = ls.MonfinOverzicht2Model;
switch (wat){
case "BASIS" : self.basisgeopend(! self.basisgeopend()); break;
case "EXTRA" : self.extrageopend(! self.extrageopend()); break;
}
},
fToggleOrg :function(){
this.geopend(!this.geopend());
},
fSetSelected: function(){
var self = ls.MonfinOverzicht2Model;
self.selectedOrg(this);
self.fGetBedragen()
},
} ; // definition van model
ls.MonfinOverzicht2Model.initBindings();
}; // elses
}// function initMonfinOverzicht2Model
});
+277
View File
@@ -0,0 +1,277 @@
$(function(){
ls.initMonitorModel = function(){
var timer;
function fAddOrgversion(p){
var dit = this;
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.toonOmschrijving = ko.observable(false);
if(p.score_omschrijving == 'T') this.toonOmschrijving(true);
this.naam = p.naam;
// this.meetellen = ko.observable(false);
// if(p.meetellen == 1){
// dit.meetellen(true);
// }
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 fAddListitem(p){
var dit = this;
this.id = p.id
this.nummer = p.nummer
this.omschrijving = p.omschrijving;
this.toelichting = p.toelichting;
this.indicatorscores = ko.observableArray([]);
$.each(p.indicatorscores, function(j,k){
dit.indicatorscores.push(new fAddIndicatorscore(k));
});
}
function fAddIndicatorscore(k){
var dit = this;
this.id = k.id
this.nummer = k.nummer
this.omschrijving = k.omschrijving
this.inspectie = k.inspectie
this.score = ko.observable(k.score)
this.scoretype = k.scoretype;
// this.jatext = ko.computed(function(){
// switch (parseFloat(dit.scoretype)){
// case 3:
// case 4:
// case 5: return 'ja'; break;
// case 6: return "onvol."; break;
// case 7: return "included"; break;
// default: return 'ja';
// }
// })
// this.neetext = ko.computed(function(){
// switch (parseFloat(dit.scoretype)){
// case 3:
// case 4:
// case 5: return 'nee'; break;
// case 6: return "vol."; break;
// case 7: return "involved"; break;
// default: return 'nee';
// }
// })
// this.thirdoptiontext = ko.computed(function(){
// switch (parseFloat(dit.scoretype)){
// case 3: return "bezig"; break;
// case 4: return "nvt"; break;
// case 5: return "i.o."; break;
// case 6: return "goed"; break;
// case 7: return "present"; break;
// default: return "";
// }
// });
// this.fourthoptiontext = ko.computed(function(){
// return 'absent'
// });
}
function fAddScoreoptie(o){
this.scoreID = o.id;
this.type = o.type_nr;
this.optie = o.optie;
this.value = parseInt(o.score_value);
this.scoretekst = o.omschrijving;
}
if (ls.MonitorModel !== undefined){
ls.MonitorModel.initModel();
}
else {
ls.MonitorModel = {
orgversions : ko.observableArray([]),
selectedOrgversion : ko.observable(''),
listitems : ko.observableArray([]),
scoreopties : ko.observableArray(),
editok : ko.observable(false),
soort : ko.observable(4),
erzijnperiodes : ko.observable(false),
notitie : ko.observable(''),
fvid : ko.observable(null),
bezig : ko.observable(false),
meetellen : ko.observable(false),
optieslengte : ko.observable(0),
initBindings :function(){
var self = ls.MonitorModel;
if (!ko.dataFor(document.getElementById('pagmonitor')) ) {
ko.applyBindings(ls.MonitorModel, document.getElementById("pagmonitor"));
}
self.initModel();
},
initModel: function(){
var self=ls.MonitorModel;
self.orgversions.removeAll();
self.listitems.removeAll();
showAjaxLoader();
$.post("index.php/monpas/monitor/getperiodesperschool", function(data){
// get de reeds ingevulde versies of start een nieuwe versie voor de laatste periode
self.orgversions.removeAll();
if (data.versies){
$.each(data.versies, function(i,p){
self.orgversions.push(new fAddOrgversion(p));
});//each
self.selectedOrgversion(self.orgversions()[0]);
self.erzijnperiodes(true);
}; // if
self.soort(data.soort);
hideAjaxLoader();
},'json');
},
fChangeVersion: function(){
var self = ls.MonitorModel;
self.listitems.removeAll();
self.scoreopties.removeAll();
self.editok(false)
if (self.selectedOrgversion() == undefined) return;
var tm = self.selectedOrgversion().invullentm;
var Dtm = new Date(tm.substring(6,10), parseInt(tm.substring(3,5)) -1, tm.substring(0,2),23,59,59,99);
var heden= new Date()
if (heden.getTime() <= Dtm.getTime() ) self.editok(true);
$.post("index.php/monpas/monitor/getlistitems/" + self.selectedOrgversion().id, function(data){
if (data.ijkpunten){
$.each(data.ijkpunten,function(i,p){
self.listitems.push(new fAddListitem(p));
});// each
}; //if
if(data.scoreopties){
$.each(data.scoreopties,function(x,o){
self.scoreopties.push(new fAddScoreoptie(o));
});// each
self.optieslengte(self.scoreopties().length);
}
self.notitie(data.notitie);
if(data.meetellen && data.meetellen == 1) {
self.meetellen(true);
}
else{
self.meetellen(false);
}
self.fvid(data.fvid);
// als de versie een schoolversie is, dan mag alleen het management invullen
// maar ook het management mag niet invullen voorbij de invuldatum
if (self.editok() && self.selectedOrgversion().vorm==1) {self.editok(data.writer)}
},'json');
},
fUpdateScoretype12: function(){
var self= ls.MonitorModel
if (this.scoretype == 1 && (parseFloat(this.score().replace(',','.') ) > 10 ||
parseFloat(this.score().replace(',','.')) < 0)){
ls.MsgAutoFade("U moet een rapportcijfer tussen 0 en 10 invullen.",1000);
this.score(0);
};
if (this.scoretype ==2 && (parseInt(this.score())> 100 || parseInt(this.score()) < 0)){
ls.MsgAutoFade("U moet hier een percentage tussen 0 en 100 invullen.",1000);
this.score(0);
}
var submitData = {indicatorscoreid : this.id,
score : this.score()}
$.post("index.php/monpas/monitor/updatescore", submitData);
return true ; // nodig voor de eventuele radioset
},
fUpdateScoretypeVanaf3: function(data){
var self= ls.MonitorModel
var indicatorscoreID = data;
var submitData = {
indicatorscoreid : indicatorscoreID,
score : this.value }
$.post("index.php/monpas/monitor/updatescore", submitData);
return true ; // nodig voor de eventuele radioset
},
fToonToelichting: function(){
var self = ls.MonitorModel;
var dit = this;
var toelichting = '';
if (dit.toelichting != undefined) toelichting = dit.toelichting;
apprise(dit.nummer + '. ' + dit.omschrijving + '<br/>Toelichting: ' + toelichting);
},
fUpdateNotitie: function(){
var self = ls.MonitorModel;
if (timer){
clearTimeout(timer);
timeout = null;
}
timer = setTimeout(function(){
var submitData= {notitie : self.notitie(),
fvID : self.fvid()}
$.post('index.php/monpas/monitor/savenotitie', submitData);
}, 600);
},
fTelMee: function(){
var self = ls.MonitorModel;
self.meetellen(!self.meetellen());
var dit = this;
var meetellen =1;
if(!dit.meetellen()){
meetellen = 0;
}
var submitData = {
meetellen: meetellen,
fvID: self.fvid(),
}
$.post("index.php/monpas/monitor/lijstmeetellen", submitData);
},
fPrint:function(){
var self =ls.MonitorModel;
if (self.bezig()) return;
self.bezig(true);
var items = ko.toJSON(self.listitems());
var data ={ 'orgversie' : self.selectedOrgversion().info(),
'tabelinfo' : items,
'notitie' : self.notitie()}
data=JSON.stringify(data);
var $form = $("<form method='post' action='index.php/monpas/monitor/printlijst' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
$form.appendTo("body").submit();
self.bezig(false);
}
} ; // definition van model
ls.MonitorModel.initBindings();
}; // else
}// function initMonitorModel
});
+735
View File
@@ -0,0 +1,735 @@
$(function(){
mh.initOmvangModel = 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.suborgs ){
$.each(p.suborgs, 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.suborgs){
$.each(p.suborgs, 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.suborgs){
$.each(p.suborgs, 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 fAddSchooljaar(i, s){
var dit = this;
var aantal = 0;
var aantalSO = 0;
var aantalSBO = 0;
var aantalB = 0;
var aantalSOB = 0;
var aantalSBOB = 0;
this.nummer = s.schooljaarnr;
this.schooljaar = s.naam;
this.pienaam = ko.observable(null);
this.tlvpie = ko.observable(null);
this.arrtable = ko.observable(null)
this.geselecteerd = ko.observable(false);
this.aantalleerlingen = s && s.aantal ? s.aantal : 0;
this.aantalllnarr = s && s.aantalllnarr ? s.aantalllnarr : 0;
this.naamboven = s && s.naamboven ? s.naamboven : 0;
this.brinboven = s && s.brinboven ? s.brinboven : 0;
this.aantalboven = s && s.aantalboven ? s.aantalboven : 0;
this.totTLVs = ko.observable(0);
this.tlvsSBO = ko.observable(0);
this.tlvsSO = ko.observable(0);
this.totTLVsB = ko.observable(0);
this.tlvsSBOB = ko.observable(0);
this.tlvsSOB = ko.observable(0);
this.laag = ko.observable(0);
this.midden = ko.observable(0);
this.hoog = ko.observable(0);
this.licht = ko.observable(0);
this.zwaar = ko.observable(0);
this.laagB = ko.observable(0);
this.middenB = ko.observable(0);
this.hoogB = ko.observable(0);
this.lichtB = ko.observable(0);
this.zwaarB = ko.observable(0);
this.aantalllnarrB = s && s.aantalllnarrB ? s.aantalllnarrB: 0;
this.arrangementen = ko.observableArray([]);
this.tlvs = ko.observableArray([]);
this.tlvsB = ko.observableArray([]);
this.totaal
if(s.arrangementen){
$.each(s.arrangementen, function(x, a){
dit.arrangementen.push(new fAddArrangement(x, a));
});
}
if(s.tlvs){
$.each(s.tlvs, function(i, t){
if(t.aantal && Number(t.aantal) > 0){
aantal = aantal + Number(t.aantal);
}
if(t.aantal && Number(t.aantal) > 0 && t.soort && t.soort == "SO"){
aantalSO = aantalSO + Number(t.aantal);
}
if(t.aantal && Number(t.aantal) > 0 && t.soort && t.soort == "SBO"){
aantalSBO = aantalSBO + Number(t.aantal);
}
if(t.aantal && Number(t.aantal) > 0 && t.zwaarte && t.zwaarte == "LICHT"){
dit.licht(Number(t.aantal));
}
if(t.aantal && Number(t.aantal) > 0 && t.zwaarte && t.zwaarte == "ZWAAR"){
dit.zwaar(Number(t.aantal));
}
if(t.aantal && Number(t.aantal) > 0 && t.zwaarte && t.zwaarte == "LAAG"){
dit.laag(Number(t.aantal));
}
if(t.aantal && Number(t.aantal) > 0 && t.zwaarte && t.zwaarte == "MIDDEN"){
dit.midden(Number(t.aantal));
}
if(t.aantal && Number(t.aantal) > 0 && t.zwaarte && t.zwaarte == "HOOG"){
dit.hoog(Number(t.aantal));
}
});
}
dit.totTLVs(aantal);
dit.tlvsSO(aantalSO);
dit.tlvsSBO(aantalSBO);
if(Number(dit.totTLVs()) > 0) {
dit.tlvpie = ko.observable('omvang' + s.naam + 'tlv');
}
// if(Number(dit.aantalllnarr) >0){
dit.pienaam('omvang' + s.naam);
// }
if(Number(dit.aantalllnarr) >0){
dit.arrtable('arrtable' + s.naam);
}
if(s.tlvsB){
$.each(s.tlvsB, function(x, b){
if(b.aantal && Number(b.aantal) > 0){
aantalB = aantalB + Number(b.aantal);
}
if(b.aantal && Number(b.aantal) > 0 && b.soort && b.soort == "SO"){
aantalSOB = aantalSOB + Number(b.aantal);
}
if(b.aantal && Number(b.aantal) > 0 && b.soort && b.soort == "SBO"){
aantalSBOB = aantalSBOB + Number(b.aantal);
}
if(b.aantal && Number(b.aantal) > 0 && b.zwaarte && b.zwaarte == "LICHT"){
dit.lichtB(Number(b.aantal));
}
if(b.aantal && Number(b.aantal) > 0 && b.zwaarte && b.zwaarte == "ZWAAR"){
dit.zwaarB(Number(b.aantal));
}
if(b.aantal && Number(b.aantal) > 0 && b.zwaarte && b.zwaarte == "LAAG"){
dit.laagB(Number(b.aantal));
}
if(b.aantal && Number(b.aantal) > 0 && b.zwaarte && b.zwaarte == "MIDDEN"){
dit.middenB(Number(b.aantal));
}
if(b.aantal && Number(b.aantal) > 0 && b.zwaarte && b.zwaarte == "HOOG"){
dit.hoogB(Number(b.aantal));
}
});
}
dit.totTLVsB(aantalB);
dit.tlvsSOB(aantalSOB);
dit.tlvsSBOB(aantalSBOB);
}
function fAddArrangement(x, a){
this.arrangementid = a.id;
this.arrnaam = a.naam;
this.looptijd = a && a.lengte ==='L' ?'≥ 6 wkn': '< 6 wkn';
this.leeftijd = a.leeftijd;
this.aantal = a && a.aantal ? a.aantal : 0;
}
if (mh.OmvangModel !== undefined){
mh.OmvangModel.initModel();
}
else {
mh.OmvangModel = {
toporg : ko.observableArray([]),
gevuldeschooljaren : ko.observableArray([]),
selectedSchooljaren : ko.observableArray([]),
omvangschooljaren : ko.observableArray([]),
selectedOrg : ko.observable(''),
orgsoort : ko.observable(1),
aantal : ko.observable(),
bezig : ko.observable(false),
isSWV : ko.observable(false),
toonkeuze : ko.observable(false),
toonresult : ko.observable(false),
geenschooljaren : ko.observable(false),
inzage : ko.observable(),
lengte : ko.observable(0),
lengteTLV : ko.pureComputed( function(){
var lengte = 0;
if(mh.OmvangModel){
if(mh.OmvangModel.omvangschooljaren())
for(var i = 0; i < mh.OmvangModel.omvangschooljaren().length; i ++){
if( Number(mh.OmvangModel.omvangschooljaren()[i].totTLVs()) > 0){
lengte++;
}
}
}
return lengte;
}),
initBindings :function(){
var self = mh.OmvangModel;
// if (!ko.dataFor(document.getElementById('pagomvangextra')) ) {
ko.applyBindings(mh.OmvangModel, document.getElementById("pagomvangextra"));
// }
self.initModel();
},
initModel: function(){
var self =mh.OmvangModel;
self.toporg('');
self.gevuldeschooljaren.removeAll();
self.omvangschooljaren.removeAll();
self.toonresult(false);
self.toonkeuze(false);
self.geenschooljaren(false);
$.post("index.php/monpas/omvang/getOrgsEnSchooljaren", function(data){
self.bezig(true);
if (data.organisatie){
self.orgsoort(Number(data.soort));
switch (self.orgsoort()){
case 1: self.toporg(new fAddSWV(data.organisatie));
self.isSWV(true);
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
self.fSetGevuldeSchooljaren(data);
$.post('index.php/monpas/rapijkpunten/getusernivo', function(result){
self.selectedOrg(self.toporg());
$.post('index.php/monpas/rapmatrix/checkinzage', function(result){
self.inzage(result);
},'json');
},'json');
}
self.bezig(false);
},'json');
},
fSetGevuldeSchooljaren: function(data){
var self = mh.OmvangModel;
self.gevuldeschooljaren.removeAll();
if(data.schooljaren){
self.gevuldeschooljaren.removeAll();
$.each(data.schooljaren, function(i, s){
self.gevuldeschooljaren.push(new fAddSchooljaar (i, s))
});
self.toonkeuze(true)
}
else{
self.geenschooljaren(true);
}
},
fSelecteerSchooljaar: function() {
var self = mh.OmvangModel;
if(Number(self.selectedSchooljaren().length) > 3){
apprise('u kunt maximaal 3 schooljaren vergelijken.')
self.selectedSchooljaren().pop;
return;
}
self.fGetOmvang();
},
fGetOmvang: function() {
var self = mh.OmvangModel;
var schooljaren = this.selectedSchooljaren.sort()
var submitData = {'schooljaren' : schooljaren,
'orgid' : self.selectedOrg().id };
self.omvangschooljaren.removeAll();
$.post("index.php/monpas/omvang/getOmvang/", submitData, function (result) {
self.omvangschooljaren.removeAll();
if(result.schooljaren){
self.omvangschooljaren.removeAll();
$.each(result.schooljaren, function (i, s){
self.omvangschooljaren.push(new fAddSchooljaar(i,s))
});
}
if(self.omvangschooljaren().length > 0){
self.toonresult(true);
self.toonkeuze(false);
var index = 0;
var indexT = 0
$.each(self.omvangschooljaren(), function (i, s) {
if(Number(s.aantalllnarr) > 0) index++;
})
self.lengte(index);
self.fMaakChart();
self.fSetTLVsPie();
if(self.selectedOrg().soort == 4 ) {
self.fSetArrangementenPie();
}
}
else{
self.toonresult(false);
apprise('geen resultaten');
}
}, 'json')
},
fToggleGeopend: function(){
this.geopend(!this.geopend());
},
fKeuze: function(){
var self = mh.OmvangModel;
self.toonkeuze(true);
},
fSwitchOrg: function(){
var self = mh.OmvangModel;
if (self.selectedOrg() === undefined) return;
if (this.id === self.selectedOrg().id) return;
self.selectedOrg(this);
self.fGetOmvang();
},
fMaakChart: function(){
var self = mh.OmvangModel;
var schooljaren = [];
var arrangementen = [];
var aantal = [];
var datasbo = [];
var dataso = [];
var dataarr = [];
var series = [];
$.each(self.omvangschooljaren(), function(i, o) {
schooljaren.push(o.schooljaar);
aantal.push(Number(o.aantalleerlingen));
var aantalsbo = 0;
var aantalso = 0;
if(o.licht) aantalsbo = Number(o.licht);
if(o.zwaar) aantalsbo = aantalsbo + Number(o.zwaar);
datasbo.push(aantalsbo);
if(o.laag()) aantalso = (Number(o.laag()));
if(o.midden()) aantalso = aantalso + Number(o.midden());
if(o.hoog()) aantalso = aantalso + Number(o.hoog());
dataso.push(aantalso);
if(o.aantalllnarr) dataarr.push(Number(o.aantalllnarr));
});
if(Number(self.omvangschooljaren().length) == 1){
var aantallln = Number(self.omvangschooljaren()[0].aantalleerlingen);
aantal.unshift(aantallln);
aantal.push(aantallln);
schooljaren.unshift(' ');
schooljaren.push(' ' );
datasbo.unshift(0);
datasbo.push(0);
dataso.unshift(0);
dataso.push(0);
dataarr.unshift(0);
dataarr.push(0);
}
series.push({
type: 'column',
name: 'tlvs sbo ',
color: '#005c99',
data: datasbo,
stack: 'tlvs'
})
series.push({
type: 'column',
name: 'tlvs so ',
color: '#4d9900',
data: dataso,
stack: 'tlvs'
})
series.push({
type: 'column',
name: 'arrangementen',
color: '#ffcc80',
data: dataarr,
stack: 'arrangementen'
})
series.push({
type: 'spline',
name: 'totaal leerlingen',
color : '#A28A29',
data: aantal,
marker: {
lineWidth: 2
}
});
Highcharts.chart('omvangchart', {
credits: {
enabled: false
},
title: {
text: 'Omvang extra ondersteuning',
style: {
fontSize: '24px'
}
},
xAxis: {
categories: schooljaren
},
yAxis: {
allowDecimals: false,
min: 0,
title: {
text: 'Aantal leerlingen'
},
stackLabels: {
enabled: true,
style:{
fontSize: '12px',
fontWeight: '200'
},
allowOverlap: true,
formatter: function () {
if(this.axis.chart.xAxis[0].categories[this.x]=== ' ') return
else
return this.stack;
},
}
},
tooltip: {
formatter: function () {
return '<b>' + this.x + '</b><br/>' +
this.series.name + ': ' + this.y + '<br/>'
}
},
plotOptions: {
column: {
stacking: 'normal'
}
},
series: series
});
},
fSetArrangementenPie: function(){
var self = mh.OmvangModel;
var titel = "";
var pienaam = "";
var type = 'variablepie'
var breedte = 170;
var arrangementen = [];
var naam = 'aantal leerlingen'
// var kleuren = ['#ffcc80','#ffb84d','#ffa31a','#e68a00', '#b36b00', '#804d00', '#4d2e00', '#ffe0b3', '#fff5e6'];
$.each(self.omvangschooljaren(), function (i, o){
$.each(o.arrangementen(), function (x, a) {
if (arrangementen.indexOf(a.arrangementid) == -1) {
arrangementen.push(a.arrangementid);
}
});
});
$.each(self.omvangschooljaren(), function (i, o) {
titel = o.schooljaar;
pienaam = o.pienaam();
var pie = [];
if(o.arrangementen){
$.each(o.arrangementen(), function (x, a) {
pie.push({
name : a.arrnaam + '(' + a.leeftijd + ')',
y : Number(a.aantal),
})
})
}
self.fMaakPie(titel, pienaam, pie, naam, breedte);
})
},
fSetTLVsPie: function(){
var self = mh.OmvangModel;
$.each(self.omvangschooljaren(), function (i, o) {
if(Number(o.totTLVs()) > 0 ){
var titel = o.schooljaar
var pienaam = o.tlvpie();
var naam = 'aantal'
var breedte =300
var pie = [];
if (Number(o.licht()) > 0) {
pie.push(
{
name: ' sbo licht',
y: Number(o.licht()),
color: '#99d6ff'
}
)
}
if (Number(o.zwaar()) > 0) {
pie.push(
{
name: ' sbo zwaar',
y: Number(o.zwaar()),
color: '#005c99'
}
)
}
if (Number(o.laag()) > 0) {
pie.push(
{
name: ' so laag',
y: Number(o.laag()),
color: '#d9ffb3'
}
)
}
if (Number(o.midden()) > 0) {
pie.push(
{
name: ' so midden',
y: Number(o.midden()),
color: '#66cc00'
}
)
}
if (Number(o.hoog()) > 0) {
pie.push(
{
name: ' so hoog',
y: Number(o.hoog()),
color: '#4d9900',
}
)
}
self.fMaakPie(titel, pienaam, pie, naam, breedte, );
}
})
},
fMaakPie: function(titel, pienaam, pie, naam, breedte){
var self = mh.OmvangModel;
Highcharts.chart(pienaam, {
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
height: 800,
plotShadow: false,
type: 'pie',
margin: [0, 0, 0, 0]
},
title: {
text: titel
},
credits:{
enabled: false
},
accessibility: {
// point: {
// valueSuffix: '%'
// }
},
plotOptions: {
pie: {
allowPointSelect: true,
size: 250,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
legend: {
align: 'left',
symbolPadding: 1,
padding: 0,
verticalAlign: 'top',
floating: false,
x: -5,
y: 260,
width: 350,
height: 500,
itemWidth: breedte,
itemDistance: 0,
},
series: [{
center: ['50%', '20%'],
name: naam,
colorByPoint: true,
data: pie
}]
});
},
fPrint: function(){
var self = mh.OmvangModel;
var hoofdtabel = document.getElementById("omvangTable").outerHTML;
var hoofdchart = document.querySelector("#omvangchart svg");
if(hoofdchart) var hoofdstring = new XMLSerializer().serializeToString(hoofdchart);
var tlvs = [];
var arrtables = [];
var arrpies = [];
var schooljaren = [];
$.each(self.omvangschooljaren(), function(i, o){
schooljaren.push(o.schooljaar);
var tlv;
var arr;
var arrtable;
if(o.tlvpie()){
tlv = document.querySelector('#' + o.tlvpie() + ' ' + 'svg')
}
else{
tlv = document.querySelector("#leegcol4 svg")
}
if(tlv) var stringtlv = new XMLSerializer().serializeToString(tlv);
tlvs.push(stringtlv);
if(o.pienaam()){
arr = document.querySelector('#' + o.pienaam() + ' ' + 'svg')
arrtable = document.getElementById(o.arrtable()). outerHTML;
}
else{
arr = document.querySelector("#leegcol4 svg")
arrtable = document.getElementById("#leegcol4"). outerHTML;
}
if(arr) var stringarr = new XMLSerializer().serializeToString(arr);
arrpies.push(stringarr);
arrtables.push(arrtable);
});
var sd = {
hoofdtabel : hoofdtabel,
graph : hoofdstring,
tlvgraphs : tlvs,
arrgraphs : arrpies,
arrtables : arrtables,
schooljaren : schooljaren,
filenaam : 'ExtraOmvang'
};
var data = JSON.stringify(sd);
var $form = $("<form method='post' action='index.php/monpas/omvang/maakOmvangPDF/' target='_blank'>").append($('<input type = "hidden" name="data" id ="omvangdata">').val(data));
$form.appendTo("body").submit();
}
} ; // definition van model
mh.OmvangModel.initBindings();
} // else
}// function initOmvangModel
});
+504
View File
@@ -0,0 +1,504 @@
$(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){
this.ijkpuntid = p.ijkpunt_id;
this.wensid = 0;
if (p.gewenstid) { this.wensid = p.gewenstid; }
this.scoretype = p.scoretype;
this.huidig = ko.observable( p.huidig); // observable is niet nodig maar dit was eerst een computed
this.gewenst = ko.observable(3);
if (p.gewenst) {this.gewenst(p.gewenst)};
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;
$.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;
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');
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
});
+280
View File
@@ -0,0 +1,280 @@
$(function(){
ls.initOntwikkelModel2 = 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 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 fAddResult(p){
this.oordeelid = p.oordeelid;
this.scoretype = p.scoretype;
this.huidig = ko.observable( p.normid);
this.gewenst = ko.observable(3);
if (p.wensid) {this.gewenst(p.wensid)};
this.omschrijving = p.omschrijving;
this.fvID = p.fvID,
this.ijkID = p.ijkpuntID
}
if (ls.OntwikkelModel2 !== undefined){
ls.OntwikkelModel2.initModel();
}
else {
ls.OntwikkelModel2 = {
toporg : ko.observableArray([]),
selectedOrg : ko.observable(''),
orgsoort : ko.observable(1),
orgversions : ko.observableArray([]),
selectedOrgversion : ko.observable(''),
standaarden : ko.observableArray([]),
versieid : ko.observable(), // moet waarschijnlijk orgversie id worden!!
writeOK : ko.observable(false),
level123 : ko.observable(false),
bezig : ko.observable(false),
ingevuld : ko.observable(false),
wijzigRecht : ko.pureComputed(function () {
if(!ls.OntwikkelModel2.ingevuld()) return false;
if(ls.OntwikkelModel2.level123() ) return false;
if(ls.OntwikkelModel2.writeOK()) return true;
return false;
}),
initBindings :function(){
var self = ls.OntwikkelModel2;
if (!ko.dataFor(document.getElementById('pagontwikkel2')) ) {
ko.applyBindings(ls.OntwikkelModel2, document.getElementById("pagontwikkel2"));
}
self.initModel();
},
initModel: function(){
var self = ls.OntwikkelModel2;
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
self.selectedOrg(self.toporg());
self.fGetWriteAutorisatie();
self.fGetLevel();
self.fSwitchLevel();
}; // if
},'json');
},
fGetLevel: function(){
var self = ls.OntwikkelModel2;
$.post("index.php/monpas/rapijkpunten/checkLevelInspectie/", function(result){
self.level123(result);
},'json');
},
fGetWriteAutorisatie: function(){
var self = ls.OntwikkelModel2;
$.post("index.php/shared/autorisatienivos/getwriteautorisatie/" + self.selectedOrg().id, function(result){
self.writeOK(result);
},'json');
},
fToggleGeopend: function(){
this.geopend(!this.geopend());
},
fUpdateGewenst: function(num){
var self=ls.OntwikkelModel2;
this.gewenst(num);
},
fSwitchOrg: function(){
var self = ls.OntwikkelModel2;
if (self.selectedOrg() == undefined) return;
if (this.id == self.selectedOrg().id) return;
self.selectedOrg(this);
self.standaarden.removeAll();
self.fGetWriteAutorisatie();
self.ingevuld(false);
if (self.selectedOrg().soort < 4) return;
self.fSwitchLevel();
},
fSwitchLevel: function(){
var self = ls.OntwikkelModel2;
if (self.selectedOrg() == undefined) return;
if (this.id == self.selectedOrg().id) return;
var versieid = null;
if(self.selectedOrgversion()){
versieid = self.selectedOrgversion().id;
}
$.post("index.php/monpas/rapijkpunten/getperiodes3/" + self.selectedOrg().id, function(data){
self.orgversions.removeAll();
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;
}
});
}
}
},'json');
},
fChangeVersion2: function(){
var self = ls.OntwikkelModel2;
if (self.selectedOrgversion() == undefined) return;
var submitData = { orguserid : false,
orgversieid : self.selectedOrgversion().id,
orgid : self.selectedOrg().id}
self.ingevuld(false);
$.post("index.php/monpas/overzichtscores/getscores", submitData, function(results){
self.standaarden.removeAll();
if (results){
self.ingevuld(true);
$.each(results, function(i,p){
self.standaarden.push(new fAddResult(p));
})
}
},'json');
},
fToonToelichting: function(){
var self = ls.OntwikkelModel2;
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.OntwikkelModel2;
if (self.bezig()) return;
self.bezig(true);
var wensarray = [];
$.each(self.standaarden() , function(i,p){
wensarray[i]={ oordeelid : p.oordeelid,
ijkID : p.ijkID,
fvID : p.fvID,
gewenst : p.gewenst() };
});
var submitData= { wensarray : wensarray}
;
$.post("index.php/monpas/overzichtscores/savegewenst", submitData, function(wensids){
self.fChangeVersion2();
self.bezig(false);
},'json') ;
},
fPrintOntwikkelmatrix: function(){
var self = ls.OntwikkelModel2;
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 resultaten= [];
if (self.standaarden){
$.each(self.standaarden(), function(i,p){
resultaten.push({'nummer' : (i + 1), 'omschrijving': p.omschrijving, 'huidig': p.huidig(), 'wens' : p.gewenst()});
})
}
var data={ 'school' : self.selectedOrg().naam,
"versie" : versie,
"resultaten" : resultaten }
var submitUrl = "index.php/monpas/overzichtscores/printontwikkelmatrix/?json=" + JSON.stringify(data);
window.open(submitUrl);
}
} ; // definition van model
ls.OntwikkelModel2.initBindings();
}; // else
}// function initOntwikkelModel2
});
@@ -0,0 +1,541 @@
$(function(){
ls.initOrganisatiesModel = function(){
function fAddOrg(p){
this.id = p.id
this.naam = ko.observable(p.naam);
this.naamkort = ko.observable(p.naamkort);
this.plaats = ko.observable(p.plaats);
this.nummer = ko.observable(p.brin);
this.soort = p.soort;
this.valtonder_id = p.valtonder_id;
this.actief = ko.observable(false);
if (p.actief == 1) this.actief(true);
this.monbas = ko.observable(false);
if (p.monbas==1) this.monbas(true);
this.mondiv = ko.observable(false);
if (p.mondiv==1) this.mondiv(true);
this.bijlage = ko.observable(p ? p.bijlagefile : '')
}
function fAddEditOrg(p){
this.id = p.id
this.naam = ko.observable(p.naam());
this.naamkort = ko.observable(p.naamkort());
this.plaats = ko.observable(p.plaats());
this.nummer = ko.observable(p.nummer());
this.soort = p.soort;
this.valtonder_id = p.valtonder_id;
this.actief = ko.observable(p.actief());
this.monbas = ko.observable(p.monbas());
this.mondiv = ko.observable(p.mondiv());
this.bijlage = ko.observable(p ? p.bijlage() : '')
}
function fAddZoekresultaat(p){
this.id = p.id;
this.soort = p.soort;
this.nummer = p.brin;
this.naamkort = p.naamkort;
this.plaats = p.plaats;
}
function fAddModule(p){
this.modulesysnr = p.sysnr;
this.naam = p.naam;
this.janee = ko.observable(false);
if (p.janee) this.janee(true);
}
if (ls.OrganisatiesModel !== undefined){
ls.OrganisatiesModel.initModel();
}
else {
ls.OrganisatiesModel = {
swvs : ko.observableArray([]),
selectedSWV : ko.observable(),
kamers : ko.observableArray([]),
selectedKamer : ko.observable(),
bgs : ko.observableArray([]),
selectedBG : ko.observable(),
scholen : ko.observableArray([]),
targetsoort : ko.observable(1),
oldOrg : ko.observable(), // om de oude waardes vast te houden in geval van annuleren
editOrg : ko.observable(), // organisatie die geupdate wordt
newOrg : ko.observable({
newSoort : ko.observable(''),
newValtonder : ko.observable(''),
newNummer : ko.observable(''),
newNaam : ko.observable(''),
newNaamkort : ko.observable(''),
newPlaats : ko.observable(''),
newMonbas : ko.observable(false),
newMondiv : ko.observable(false)
}),
zoekstring : ko.observable(''),
zoekresultaten : ko.observableArray([]),
ignore : ko.observable(false),
beheerder : ko.observable(true), // voorlopig heeft alleen beheerder toegang tot organisaties
modules : ko.observableArray([]),
initBindings :function(){
var self = ls.OrganisatiesModel;
if (!ko.dataFor(document.getElementById('pagOrganisatiesXL')) ) {
ko.applyBindings(ls.OrganisatiesModel, document.getElementById("pagOrganisatiesXL"));
}
self.initModel();
},
initModel: function(){
var self =ls.OrganisatiesModel;
self.swvs.removeAll();
$.post("index.php/shared/organisaties/getorgsperlevel/1", function(data){
if (data){
$.each(data, function(i,p){
self.swvs.push(new fAddOrg(p));
});
}
},'json');
},
fChangeSWV : function(data,event){
var self = ls.OrganisatiesModel;
if (self.ignore()) return;
self.kamers.removeAll();
if (self.selectedSWV() != undefined){
var submitData={toporgid : self.selectedSWV().id,
getlevel : 2};
$.post("index.php/shared/organisaties/getorgsperlevel/2", submitData, function(data){
if (data){
$.each(data,function(i,p){
self.kamers.push(new fAddOrg(p));
});
}
},'json');
}; // if
},
fChangeKamer: function(){
var self=ls.OrganisatiesModel;
if (self.ignore()) return;
self.bgs.removeAll();
if (self.selectedKamer() == undefined) return;
var submitData={toporgid : self.selectedKamer().id,
getlevel : 3};
$.post("index.php/shared/organisaties/getorgsperlevel/3", submitData, function(data){
if (data){
$.each(data,function(i,p){
self.bgs.push(new fAddOrg(p));
});
}
},'json');
},
fChangeBG : function(){
var self=ls.OrganisatiesModel;
if (self.ignore()) return;
self.scholen.removeAll();
if (self.selectedBG() == undefined) return;
var submitData={toporgid : self.selectedBG().id,
getlevel : 4};
$.post("index.php/shared/organisaties/getorgsperlevel/4", submitData, function(data){
if (data){
$.each(data,function(i,p){
self.scholen.push(new fAddOrg(p));
});
}
},'json')
},
fPopNewSWV: function(){
var self = ls.OrganisatiesModel;
self.newOrg().newSoort(1);
self.newOrg().newValtonder(null);
self.newOrg().newNummer('');
self.newOrg().newNaam('');
self.newOrg().newNaamkort('');
self.newOrg().newPlaats('');
self.newOrg().newMonbas(true);
self.newOrg().newMondiv(true);
// haal modules op
self.fGetModules(0);
// $("#modNewOrg").modal('show');
},
fPopNewKamer: function(){
var self = ls.OrganisatiesModel;
if (self.selectedSWV() == undefined) return;
self.newOrg().newSoort(2);
self.newOrg().newValtonder(self.selectedSWV().id);
self.newOrg().newNummer('');
self.newOrg().newNaam('');
self.newOrg().newNaamkort('');
self.newOrg().newPlaats('');
self.newOrg().newMonbas(true);
self.newOrg().newMondiv(true);
self.fGetModules(0);
// $("#modNewOrg").modal('show');
},
fPopNewBG: function(){
var self = ls.OrganisatiesModel;
if (self.selectedKamer() == undefined) return;
self.newOrg().newSoort(3);
self.newOrg().newValtonder(self.selectedKamer().id);
self.newOrg().newNummer('');
self.newOrg().newNaam('');
self.newOrg().newNaamkort('');
self.newOrg().newPlaats('');
self.newOrg().newMonbas(true);
self.newOrg().newMondiv(true);
self.fGetModules(0);
// $("#modNewOrg").modal('show');
},
fPopNewSchool:function(){
var self = ls.OrganisatiesModel;
if (self.selectedBG() == undefined) return;
self.newOrg().newSoort(4);
self.newOrg().newValtonder(self.selectedBG().id);
self.newOrg().newNummer('');
self.newOrg().newNaam('');
self.newOrg().newNaamkort('');
self.newOrg().newPlaats('');
self.newOrg().newMonbas(true);
self.newOrg().newMondiv(true);
self.fGetModules(0);
// $("#modNewOrg").modal('show');
},
fGetModules :function(orgid){
var self = ls.OrganisatiesModel;
$.post("index.php/shared/organisaties/getmodules/" + orgid, function(result){
self.modules.removeAll();
if (result){
$.each(result, function(i,p){
self.modules.push(new fAddModule(p));
}); // each
};// if
if (orgid == 0) { $("#modNewOrg").modal('show');}
else { $("#modEditOrg").modal('show');};
},'json');
},
fSaveOrg : function(){
var self = ls.OrganisatiesModel;
// probeer eerst op te slaan. als nummer al bestaat foutmelding geven en popup niet sluiten
var licenties = [];
$.each(self.modules(), function(i,p){
if (p.janee()){
licenties.push( p.modulesysnr);
}
});
var submitData= { 'soort' : self.newOrg().newSoort(),
"valtonder" : self.newOrg().newValtonder(),
'nummer' : self.newOrg().newNummer(),
'naam' : self.newOrg().newNaam(),
'naamkort' : self.newOrg().newNaamkort(),
'plaats' : self.newOrg().newPlaats(),
'licenties' : licenties
// 'monbas' : self.newOrg().newMonbas(),
// 'mondiv' : self.newOrg().newMondiv()
}
$.post("index.php/shared/organisaties/insertorganisatie", submitData, function(result){
if (result.errortekst.length > 0){
apprise(result.errortekst);
}
else{
switch (self.newOrg().newSoort() ){
case 1: self.swvs.push(new fAddOrg(result.org));
$.each(self.swvs(), function(i,p){
if (p.id == result.org.id){
self.selectedSWV(p);
self.fChangeSWV();
return false;
};
});
break;
case 2: self.kamers.push(new fAddOrg(result.org));
$.each(self.kamers(), function(i,p){
if (p.id == result.org.id){
self.selectedKamer(p);
self.fChangeKamer();
return false;
};
});
break;
case 3: self.bgs.push(new fAddOrg(result.org));
$.each(self.bgs(), function(j,k){
if (k.id== result.org.id){
self.selectedBG(k);
self.fChangeBG();
return false;
};
});
break;
case 4: self.scholen.push(new fAddOrg(result.org));
break;
}
$("#modNewOrg").modal('hide');
}
},'json');
},
fPopEditOrg: function(data,gek){
var self = ls.OrganisatiesModel;
switch (data){
case 1: self.oldOrg(self.selectedSWV());
break;
case 2: self.oldOrg(self.selectedKamer());
break;
case 3: self.oldOrg(self.selectedBG())
break;
case 4: self.oldOrg(this);
break;
}
self.editOrg( new fAddEditOrg(self.oldOrg() ) );
self.fGetModules(self.oldOrg().id);
//$("#modEditOrg").modal('show');
},
fDeleteOrg: function(data,gek){
var self= ls.OrganisatiesModel;
var dit;
switch (data){
case 1: if (self.selectedSWV() == undefined) return;
dit = self.selectedSWV();
break;
case 2: if (self.selectedKamer() == undefined) return;
dit = self.selectedKamer();
break;
case 3: if (self.selectedBG() == undefined) return;
dit = self.selectedBG();
break;
case 4: if (this== undefined) return;
dit = this;
break;
}
apprise("Weet u zeker dat u " + dit.naam() + " wilt verwijderen?", {verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
if (ans){
$.post("index.php/shared/organisaties/deleteorg/" + dit.id, function(result){
if (result && result.length > 0 ){
apprise("Verwijderen is niet mogelijk. " + result);
}
else{
switch (dit.soort ){
case '1': self.swvs.remove(dit);
self.selectedSWV(null);
break;
case '2': self.kamers.remove(dit);
break;
case '3': self.bgs.remove(dit);
break;
case '4': self.scholen.remove(dit);
break;
};// switch
}
},'json');
}; // if ans
});// apprise
},
fUpdateOrg: function(){
var self = ls.OrganisatiesModel;
if (self.editOrg() == undefined) return;
var licenties = [];
$.each(self.modules(), function(i,p){
if (p.janee()){
licenties.push( p.modulesysnr);
}
});
var submitData = { id : self.editOrg().id,
nummer : self.editOrg().nummer(),
naamkort : self.editOrg().naamkort(),
naam : self.editOrg().naam(),
plaats : self.editOrg().plaats(),
actief : self.editOrg().actief(),
licenties : licenties
};
$.post("index.php/shared/organisaties/update", submitData, function(error){
if (error){
apprise(error);
}
else{
// zet de editvalues weer terug
self.oldOrg().nummer(self.editOrg().nummer());
self.oldOrg().naam(self.editOrg().naam());
self.oldOrg().naamkort(self.editOrg().naamkort());
self.oldOrg().plaats(self.editOrg().plaats());
self.oldOrg().actief(self.editOrg().actief());
self.oldOrg().monbas(self.editOrg().monbas());
self.oldOrg().mondiv(self.editOrg().mondiv());
$("#modEditOrg").modal('hide');
}
},'json')
},
fStartZoek :function(){
var self = ls.OrganisatiesModel;
if (self.zoekstring().length < 2) return;
self.zoekresultaten.removeAll();
var submitData= {zoekstring : self.zoekstring()};
$.post("index.php/shared/organisaties/zoek", submitData,function(result){
if (result){
if (result.errortekst){
apprise(result.errortekst);
}
else{
$.each(result.results, function(i,p){
self.zoekresultaten.push(new fAddZoekresultaat(p));
});
$("#modZoekresults").modal('show');
};
}
},'json');
},
fGetSelected: function(){
var self =ls.OrganisatiesModel;
$.post("index.php/shared/organisaties/getselected/"+ this.id, function(result){
self.ignore(true);
self.selectedSWV(null);
self.selectedKamer(null);
self.selectedBG(null);
self.kamers.removeAll();
self.bgs.removeAll();
self.scholen.removeAll();
if (result.swvid != self.selectedSWV().id){
$.each(self.swvs(), function(i,p){
if (p.id == result.swvid) {self.selectedSWV(p) };
}); // for each swvs
}
$.each(result.kamers, function(j,k){
self.kamers.push(new fAddOrg(k));
}); // for each kamers
if (result.kamerid){
$.each(self.kamers(), function(j,k){
if (k.id == result.kamerid) {self.selectedKamer(k);}
})
}
if (result.bgs) {
$.each(result.bgs, function(i,p){
self.bgs.push(new fAddOrg(p));
});
if (result.bgid){
$.each(self.bgs(), function(j,k){
if (k.id == result.bgid){self.selectedBG(k) ;}
})
}; // if resultbgid
}; // if resultbgs
if (result.scholen){
$.each(result.scholen,function(x,y){
self.scholen.push(new fAddOrg(y));
});
}
self.ignore(false);
},'json');
$("#modZoekresults").modal('hide');
},
fDeleteBijlage: function(){
var self =ls.OrganisatiesModel;
if (! self.editOrg()) return;
if (! self.editOrg().bijlage()) return;
apprise("Weet u zeker dat u <i>"+ self.editOrg().bijlage()+"</i> wilt verwijderen?",
{verify:true, textYes: ' ja ', textNo: 'nee'}, function(ans){
if (ans){
var sd = {orgID: self.editOrg().id}
$.post("index.php/shared/organisaties/deleteBijlage", sd, function(){
self.editOrg().bijlage('');
$.each(self.swvs(), function(j,k){
if (k.id == self.editOrg().id) k.bijlage('');
})
$.each(self.kamers(), function(j,k){
if (k.id == self.editOrg().id) k.bijlage('');
})
$.each(self.bgs(), function(j,k){
if (k.id == self.editOrg().id) k.bijlage('');
})
$.each(self.scholen(), function(j,k){
if (k.id == self.editOrg().id) k.bijlage('');
})
})
}
})//apprise
},
fDownloadBijlage: function(){
var self =ls.OrganisatiesModel;
if (!self.editOrg()) return;
if (! self.editOrg().bijlage()) return;
window.open( 'index.php/shared/upload/download_bijlage/' +self.editOrg().id );
},
fUploadBijlage: function(){
var self =ls.OrganisatiesModel;
if (self.editOrg().bijlage()){
apprise("Weet u zeker dat u de huidige file wilt vervangen?",
{verify:true, textYes:' ja ' , textNo:'nee'}, function(ans){
if (ans){
self.fDaadwerkelijkUpload()
} else {
$("#bijlageFile").val('')
}
})//apprise
}
else self.fDaadwerkelijkUpload()
},
fDaadwerkelijkUpload:function(){
var self =ls.OrganisatiesModel;
let bijlage = document.getElementById("bijlageFile").files[0];
let formData = new FormData();
formData.append('file', bijlage);
formData.append('orgID', self.editOrg().id)
$.ajax({
type: "POST",
url: "index.php/shared/organisaties/saveBijlageFile",
contentType: false,
processData: false,
data: formData,
success: function (error) {
error = JSON.parse(error);
if( error ) apprise(error)
else {
self.editOrg().bijlage(bijlage.name)
$.each(self.swvs(), function(j,k){
if (k.id == self.editOrg().id) k.bijlage(bijlage.name);
})
$.each(self.kamers(), function(j,k){
if (k.id == self.editOrg().id) k.bijlage(bijlage.name);
})
$.each(self.bgs(), function(j,k){
if (k.id == self.editOrg().id) k.bijlage(bijlage.name);
})
$.each(self.scholen(), function(j,k){
if (k.id == self.editOrg().id) k.bijlage(bijlage.name);
})
$("#bijlageFile").val('')
}
}
});
}
} ; // definition van model
ko.applyBindings(ls.OrganisatiesModel, document.getElementById("pagOrganisatiesXL"));
ls.OrganisatiesModel.initModel();
}; // else
}// function initOrganisatiesModel
});
@@ -0,0 +1,322 @@
$(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
});
+242
View File
@@ -0,0 +1,242 @@
$( function () {
ls.initPortalModel = function () {
var timeout;
function fAddBericht( b ) {
var dit = this;
this.berichtid = b.id;
this.kort = ko.observable( b.samenvatting );
this.lang = ko.observable( b.inhoud );
this.langPopUp = ko.observable(b.inhoud);
if(b.inhoud.length > 600){
dit.langPopUp(b.inhoud.slice(0,600)+"...");
}
this.startdatum = ko.observable( b.startdatum );
}
function shadeColor( color, percent ) {
var f = parseInt( color.slice( 1 ), 16 ), t = percent < 0 ? 0 : 255,
p = percent < 0 ? percent * -1 : percent, R = f >> 16, G = f >> 8 & 0x00FF, B = f & 0x0000FF;
return "#" + (0x1000000 + (Math.round( (t - R) * p ) + R) * 0x10000 + (Math.round( (t - G) * p ) + G) * 0x100 + (Math.round( (t - B) * p ) + B)).toString( 16 ).slice( 1 );
}
function fAddLicentie( p, id ) {
//clusters en ongeclusterde instrumenten
this.cluster_id = p.cluster_id; //id van cluster of clusterid waartoe instrument behoort
this.sysnr = p.sysnr;
this.naam = p.naam;
this.naamkort = p.naamkort;
//this.k1="radial-gradient('"+p.kleur1 + "' , '" + p.kleur2 + "'))";
this.k1 = "radial-gradient(#ffffff,#000000)"
this.k2 = "radial-gradient(#ffffff,#dddddd)"
kleur1 = '#ffffff';
kleur2 = '#000000'
if ( p.kleur1 ) kleur1 = p.kleur1
if ( p.kleur2 ) kleur2 = p.kleur2
this.k1 = 'radial-gradient(' + kleur1 + ',' + kleur2 + ')';
this.k2 = 'radial-gradient(' + shadeColor( kleur1, 0.2 ) + ',' + kleur2 + ' )';
var dit = this;
if ( p.wasNiveau2 == 'T' ) {
if ( p.cluster_id && p.cluster_id > 0 )
this.k2 = 'radial-gradient(' + kleur1 + ',' + shadeColor( kleur2, 0.5 ) + ')';
}
this.isCluster = ko.computed( function () {//cluster of instrument
var cluster = false;
if ( p.isCluster == 'T' ) {
cluster = true;
}
return cluster;
} )
this.selectie = ko.computed( function () {// geslecteerde instrumentn
var toon = false;
if ( id ) {
if ( id == dit.cluster_id ) {
toon = true;
}
return toon;
}
} )
this.geopend = ko.observable( false );
this.bolletjes = ko.observableArray();
if ( p.sub ) {
$.each( p.sub, function ( i, k ) {
dit.bolletjes.push( new fAddBolletje( i, k, id, kleur1, kleur2 ) )
} );
}
}
function fAddBolletje( i, b, id, kleur1, kleur2 ) {
this.bolletjeId = b.id;
this.sysnr = b.sysnr;
this.cluster_id = b.cluster_id;//instrumenten die onder cluster hangen
this.naam = b.naam;
this.naamkort = b.naamkort;
this.isCluster = ko.observable( false );
this.kleur = ko.observable( 'defaultBol' );
if ( b.cluster_id ) this.kleur = 'instrument' + b.cluster_id;
//this.k1="radial-gradient(#ffffff,#777777)"
//this.k2="radial-gradient(#ffffff,#dddddd)"
//if (kleur1 && kleur2) {
this.k1 = 'radial-gradient(' + shadeColor( kleur1, 0.5 ) + ',' + shadeColor( kleur2, 0.5 ) + ')';
this.k2 = this.k1;
// }
this.zindex = ko.computed( function () {// om bollen onder cluster te laren vallen
var teller = 19 - i;
return teller;
} )
this.naarBoven = ko.computed( function () {// om bollen onder cluster te schuiven
var schuif = -175 * (i + 1);
return schuif + 'px';
} )
var opGaand = this.naarBoven();
this.marge = ko.observable( opGaand );
}
if ( ls.PortalModel !== undefined ) {
ls.PortalModel.initModel();
}
else {
ls.PortalModel = {
licenties : ko.observableArray( [] ),
mededelingen : ko.observableArray( [] ),
gekozen : ko.observable( false ),
bezig : ko.observable( false ),
initBindings: function () {
var self = ls.PortalModel;
if ( !ko.dataFor( document.getElementById( 'pagportal' ) ) ) {
ko.applyBindings( ls.PortalModel, document.getElementById( "pagportal" ) );
}
self.bezig( true );
self.initModel();
},
initModel : function () {
var self = ls.PortalModel;
self.fToonPopup();
$.post( "index.php/shared/portal/getlicenties", function ( result ) {
self.licenties.removeAll();
if ( result ) {
$.each( result, function ( i, p ) {
var clusterid = '';
self.licenties.push( new fAddLicentie( p, clusterid ) );
} ); // each
}
; // if result
self.bezig( false );
}, 'json' );
},
fToonPopup: function () {
var self = ls.PortalModel;
$.post( "index.php/monpas/berichten/getberichtenVoorpagina/", function (data) {
self.mededelingen.removeAll();
if ( data ) {
$( '#popupBericht' ).modal( 'show' );
$.each( data, function ( i, b ) {
self.mededelingen.push( new fAddBericht( b ) );
} );// each
}
; //if
}, 'json' );
},
fOpenBericht: function () {
var self = ls.PortalModel;
var anker = this.berichtid;
// $.each( ls.MenuModel.menuitems(), function ( i, p ) {
// if ( p.naam == 'berichten' ) {
// p.gekozen( true );
//
// }
// else {
// p.gekozen( false )
// }
// } );
$( '#popupBericht' ).modal( 'hide' );
$( '#pagportal' ).fadeOut( function () {
$( '#pagberichten' ).fadeIn( 500 );
} );
mh.initBerichtenModel();
},
fMeerBerichten: function () {
var self = ls.PortalModel;
$.each( ls.MenuModel.menuitems(), function ( i, p ) {
if ( p.naam == 'berichten' ) {
p.gekozen( true );
}
else {
p.gekozen( false )
}
} ),
$( '#pagportal' ).fadeOut();
$( '#pagberichten' ).fadeIn( 500 );
mh.initBerichtenModel( 0 );
},
fNaarModule: function () {
var self = ls.PortalModel;
var dit = this;
if ( !this.isCluster() ) {// Verwijzen direct naar een instrument.
$.post( "index.php/shared/portal/naarmodule/" + this.sysnr, function () {
location.reload();
} );
}
else {
self.gekozen( true );
dit.geopend( !dit.geopend() );
var clusterid = dit.cluster_id;
$.post( "index.php/shared/portal/kiesCluster/" + clusterid, function ( result ) {//haalt alles opnieuw op.
// De instrumenten bij het gekozen array worden naast het cluster op rij getoond
self.licenties.removeAll();
if ( result ) {
$.each( result, function ( i, p ) {
self.licenties.push( new fAddLicentie( p, clusterid ) );
} );
}
}, 'json' );
}
},
fSluitCluster: function () {
var self = ls.PortalModel;
self.gekozen( false );
this.geopend( !this.geopend() )
self.initModel();
}
}; // definition van model
ls.PortalModel.initBindings();
}
; // else
}// function initPortalModel
} );
+98
View File
@@ -0,0 +1,98 @@
$(function(){
mh.initScoresModel = function(){
var timer;
function fAddScoreType(i, s){
var dit = this;
this.nr = s.sysnr;
this.omschrijving = s.omschrijving;
this.opties = ko.observableArray();
if(s.opties){
$.each(s.opties, function(x, o){
dit.opties.push(new fAddOptie(x, o))
});
}
}
function fAddOptie(x, o){
this.id = o.id;
this.optie = o.optie;
this.scoretekst = ko.observable(o.omschrijving ? o.omschrijving : 'niet beschikbaar');
this.scoretekstoud = ko.observable(o.omschrijving ? o.omschrijving : 'niet beschikbaar');
}
if (mh.ScoresModel !== undefined){
mh.ScoresModel.initModel();
}
else {
mh.ScoresModel = {
scoretypes : ko.observableArray([]),
selectedType : ko.observable(),
editok : ko.observable(false),
newScoretekst : ko.observable(),
initBindings :function(){
var self = mh.ScoresModel;
if (!ko.dataFor(document.getElementById('pagScores')) ) {
ko.applyBindings(mh.ScoresModel, document.getElementById("pagScores"));
}
$.post("index.php/monpas/swvversies/getAntwoordtypesEnOmschrijving" , function(types){
self.scoretypes.removeAll();
if (types){
$.each(types, function(i,s){
if(s.opties) {
self.scoretypes.push(new fAddScoreType(i, s));
}
}); // each
}; // if
self.initModel();
},'json');
},
initModel: function(){
var self =mh.ScoresModel;
},
fChangeScoretype: function(){
var self = mh.ScoresModel;
},
fEditOmschrijving: function(){
var self = mh.ScoresModel;
self.editok(!self.editok());
},
fSaveEdit: function(){
var self = mh.ScoresModel;
var dit = this;
if (timer){
clearTimeout(timer);
timeout = null;
}
timer = setTimeout(function(){
var submitData=
{id : dit.id,
omschrijving : dit.scoretekst(),
};
$.post("index.php/monpas/swvversies/updateAntwoordopties",submitData, function(result){
},'json');
},700);
},
} ; // definition van model
mh.ScoresModel.initBindings();
}; // else
}// function initScoresModel
});
+24
View File
@@ -0,0 +1,24 @@
$(function(){
ls.initNaamModel = function(){
if (ls.NaamModel !== undefined){
ls.NaamModel.initModel();
}
else {
ls.NaamModel = {
initBindings :function(){
var self = ls.NaamModel;
if (!ko.dataFor(document.getElementById('pagNaam')) ) {
ko.applyBindings(ls.NaamModel, document.getElementById("pagNaam"));
}
self.initModel();
},
initModel: function(){
}
} ; // definition van model
ls.NaamModel.initBindings();
}; // else
}// function initNaamModel
});
+39
View File
@@ -0,0 +1,39 @@
$(function(){
mh.initSopModel = function(){
function fAddIets(p){
var dit = this;
this.id = p.id;
}
if (mh.SopModel !== undefined){
mh.SopModel.initModel();
}
else {
mh.SopModel = {
dingen : ko.observableArray([]),
initBindings :function(){
var self = mh.SopModel;
if (!ko.dataFor(document.getElementById('pagsophoofd')) ) {
ko.applyBindings(mh.SopModel, document.getElementById("pagsophoofd"));
}
self.initModel();
},
initModel: function(){
var self =mh.SopModel;
}
} ; // definition van model
mh.SopModel.initBindings();
} // else
}// function init mh.SopModel
});
@@ -0,0 +1,241 @@
$(function(){
mh.initSopOverzichtModel = 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([]);
dit.scholen = ko.observableArray([]);
if (p.kamers){
$.each(p.kamers, function(j,k){
dit.kamers.push(new fAddKamer(k));
})
}
if (p.scholen ){
$.each(p.scholen, function(i,s){
dit.scholen.push(new fAddSchool(s));
})
}
}
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([]);
this.scholen = ko.observableArray([]);
if (p.bgs){
$.each(p.bgs, function(x,z){
dit.bgs.push(new fAddBG(z));
})
}
if (p.scholen){
$.each(p.scholen, function(i,s){
dit.scholen.push(new fAddSchool(s));
})
}
}
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(b){
var dit = this;
this.id = b.id;
this.soort = b.soort;
this.brin = b.brin;
this.naam = b.naamkort;
this.plaats = b.plaats;
this.erIsEenSop = ko.observable(false);
if(b.sop === 'T') dit.erIsEenSop(true)
}
function fAddSchooljaar(s){
this.id = s.schooljaarnr;
this.naam = s.naam;
}
if (mh.SopOverzichtModel !== undefined){
mh.SopOverzichtModel.initModel();
}
else {
mh.SopOverzichtModel = {
toporg : ko.observable(''),
selectedOrg : ko.observable(''),
orgsoort : ko.observable(1),
keuzesoort : ko.observable(1),
geopend : ko.observable(false),
schooljaren : ko.observableArray([]),
selectedSchooljaar : ko.observable(''),
gegevens : ko.observable(true),
alfabetisch : ko.observable(false),
initBindings :function(){
var self = mh.SopOverzichtModel;
if (!ko.dataFor(document.getElementById('pagsopoverzicht')) ) {
ko.applyBindings(mh.SopOverzichtModel, document.getElementById("pagsopoverzicht"));
}
self.initModel();
},
initModel: function(){
var self =mh.SopOverzichtModel;
self.fGetSchooljaren();
},
fGetSchooljaren: function() {
var self =mh.SopOverzichtModel;
$.post("index.php/monpas/overzichtsop/getSchooljaren", function(data){
self.selectedSchooljaar(null);
self.schooljaren.removeAll();
if(data) {
$.each(data, function (i, s) {
self.schooljaren.push(new fAddSchooljaar(s));
});//each
if (self.schooljaren() ) self.selectedSchooljaar(self.schooljaren()[0]);
} // if
self.fGetMenu();
},'json')
},
fGetMenu: function(){
var self = mh.SopOverzichtModel;
self.alfabetisch(false);
var submitData = {
'schooljaarnr' : self.selectedSchooljaar().id,
'orgid' : 0
};
$.post("index.php/monpas/overzichtsop/getoverzicht", submitData , function(data){
self.toporg('');
if (data.organisatie){
self.orgsoort(data.soort);
self.keuzesoort(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
self.selectedOrg(self.toporg())}
},'json');
},
fChangeSchooljaar: function(){
var self = mh.SopOverzichtModel;
if(!self.selectedSchooljaar()) return;
if(!self.alfabetisch())self.fGetOverzicht();
if(self.alfabetisch())self.fGetAlfabetisch();
},
fToggleOrdening: function(){
var self = mh.SopOverzichtModel;
self.alfabetisch(!self.alfabetisch());
if(!self.alfabetisch())self.fGetOverzicht();
if(self.alfabetisch())self.fGetAlfabetisch();
},
fGetOverzicht: function(){
var self =mh.SopOverzichtModel;
var submitData = {
'schooljaarnr' : self.selectedSchooljaar().id,
'orgid' : self.selectedOrg().id
};
$.post("index.php/monpas/overzichtsop/getoverzicht", submitData , function(data){
if (data.organisatie){
self.keuzesoort(data.soort);
switch (self.keuzesoort()){
case 1: self.selectedOrg(new fAddSWV(data.organisatie));
break;
case 2: self.selectedOrg(new fAddKamer(data.organisatie));
break;
case 3: self.selectedOrg(new fAddBG(data.organisatie));
break;
case 4: self.selectedOrg(new fAddSchool(data.organisatie));
break;
} // switch
}
},'json');
},
fGetAlfabetisch: function(){
var self =mh.SopOverzichtModel;
if(self.selectedOrg().soort === '3' || self.selectedOrg().soort === '4'){
self.fGetOverzicht();
return;
}
var submitData = {
'schooljaarnr' : self.selectedSchooljaar().id,
'orgid' : self.selectedOrg().id
};
$.post("index.php/monpas/overzichtsop/getAlfabetisch", submitData , function(data){
if (data.organisatie){
self.keuzesoort(data.soort);
if(self.keuzesoort() === '1') self.selectedOrg(new fAddSWV(data.organisatie));
if(self.keuzesoort() === '2') self.selectedOrg(new fAddKamer(data.organisatie));
}
},'json');
},
fToggleGeopend: function(){
var self =mh.SopOverzichtModel;
this.geopend(!this.geopend());
},
fSwitchOrg: function(){
var self =mh.SopOverzichtModel;
if (self.selectedOrg() === undefined) return;
if (this.id === self.selectedOrg().id) return;
self.keuzesoort('');
self.selectedOrg(this);
if (!self.alfabetisch()) self.fGetOverzicht();
if (self.alfabetisch()) self.fGetAlfabetisch();
},
fOpenPDF: function(){
var self =mh.SopOverzichtModel;
var dit = this;
var submitData = {
'orgid' : dit.id,
'schooljaarnr': self.selectedSchooljaar().id
};
window.open("index.php/monpas/overzichtsop/download_pdf/" + dit.id + '/'+ self.selectedSchooljaar().id );
}
} ; // definition van model
mh.SopOverzichtModel.initBindings();
} // else
}// function init mh.SopOverzichtModel
});
+444
View File
@@ -0,0 +1,444 @@
$(function(){
mh.initSorteringModel = function(){
function fAddSWV(p) {
this.id = p.id;
this.soort = p.soort
this.naam = p.naam
}
function fAddSWVIndeling(p) {
var dit = this;
this.kamers = ko.observableArray([]),
this.id = p.id;
this.soort = p.soort
this.naam = p.naam
if (p.kamers) {
$.each(p.kamers, function (x, z) {
dit.kamers.push(new fAddKamer(z));
})
}
}
function fAddKamer(p) {
var dit = this;
this.id = p.id;
this.soort = p.soort
this.naam = p.naam
this.plaats = p.plaats
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.indelingen = ko.observableArray([]);
if (p.scholen) {
$.each(p.scholen, function (a, b) {
dit.indelingen.push(new fAddSchoolIndeling(b));
})
}
}
function fAddSchoolIndeling(s ) {
var dit = this;
this.schoolid = s.id;
this.soort = s.soort;
this.naam = s.naam;
this.naamkort = s.naamkort;
this.brin = s.brin;
this.plaats = s.plaats;
this.criteriumid = s.criteriumid;
this.selectedOptie = ko.observable(null);
this.opties = ko.observableArray('');
var school = s.id;
var gekozenid = s.indeling.waardeid;
if(s.opties){
var lengte = s.opties.length;
if(s.indeling.waardeid == s.opties){
}
}
if (s.opties) {
$.each(s.opties, function (i, o) {
dit.opties.push(new fAddOptie(o, i, lengte, school, gekozenid));
if(o.waardeid == s.indeling.waardeid){
dit.selectedOptie(o.waardeid)
}
})
}
}
function fAddOptie(o, i, lengte, school, gekozenid){
var dit = this;
this.optie = o.naam;
this.waardeid = o.waardeid;
var school = school;
var gekozenid = gekozenid;
this.selectedSchool = ko.observable(school);
this.gekozenid = ko.observable(gekozenid);
this.kolombreedte2 = ko.pureComputed(function(){
var breedte = 0;
var kolom1= 210;
var tabel = 1000;
var min = (tabel - kolom1)/lengte;
var max = 210;
min > max ? breedte = max : breedte = min;
breedte = breedte + 'px';
return breedte;
})
}
function fAddCriteria(c){
var dit = this;
var lengte = c.labels.length;
this.criteriumid = c.id;
this.swvid = c.swv_id;
this.criterium = ko.observable(c.naam);
this.criteriumoud = ko.observable(c.naam);
this.labels = ko.observableArray([]);
if (c.labels) {
$.each(c.labels, function (j, l) {
dit.labels.push(new fAddLabels( l, j, lengte));
})
}
}
function fAddLabels(l, j, lengte){
var dit = this;
this.index = j;
this.waardeid = l.waardeid;
this.sorteringid = l.sorteringid;
this.label = ko.observable(l.naam);
this.volgorde = l.volgorde;
this.kolombreedte = ko.pureComputed(function(){
var breedte = 0;
var kolom1 = 210;
var tabel = 1000;
var min = (tabel - kolom1)/lengte;
var max = 210;
min > max ? breedte = max : breedte = min;
breedte = breedte + 'px';
return breedte;
})
}
if (mh.SorteringModel !== undefined){
mh.SorteringModel.initModel();
}
else {
mh.SorteringModel = {
swvs : ko.observableArray([]),
criteria : ko.observableArray([]),
nieuweLabels : ko.observableArray([]),
swvindeling : ko.observable(''),
selectedSWV : ko.observable(''),
selectedCriterium : ko.observable(''),
selectedLabel : ko.observable(''),
nieuwCriterium : ko.observable(''),
nieuwLabel1 : ko.observable(''),
nieuwLabel2 : ko.observable(''),
toonIndeling : ko.observable(false),
legelabels : ko.observable(false),
kolom1 : ko.pureComputed(function(){
var aantal = 0
var kolom1 = 210
if(mh.SorteringModel.selectedCriterium().labels> 0){
aantal = mh.SorteringModel.selectedCriterium().labels.length;
var tabel = 1000;
var breedte = (tabel - kolom1)% aantal + kolom1;
kolom1 = breedte;
}
kolom1 = kolom1 + 'px';
return kolom1;
}),
initBindings :function(){
var self = mh.SorteringModel;
if (!ko.dataFor(document.getElementById('pagSortering')) ) {
ko.applyBindings(mh.SorteringModel, document.getElementById("pagSortering"));
}
self.initModel();
},
initModel: function(){
var self =mh.SorteringModel;
self.swvs.removeAll();
$.post("index.php/shared/organisaties/getorgsperlevel/1", function(data){
if (data){
$.each(data, function(i,p){
self.swvs.push(new fAddSWV(p));
});
}
self.fToonSortering();
},'json');
},
fChangeSWV : function(){
var self = mh.SorteringModel;
self.fSluitIndeling();
self.fToonSortering();
},
fToonSortering: function(){
var self = mh.SorteringModel;
var dit = this;
var swvid = dit.selectedSWV().id
dit.criteria.removeAll();
$.post("index.php/monpas/sortering/getsortering/" + swvid, function(data){
dit.criteria.removeAll();
if (data){
$.each(data, function(i,c){
self.criteria.push(new fAddCriteria(c));
});
}
},'json');
},
fMaakSortering: function(){
var self = mh.SorteringModel;
var dit = this;
},
fNieuwCriterium: function(){
var self = mh.SorteringModel;
var dit = this;
$("#nieuwCriterium").modal('show');
},
fNieuwLabel: function(){
var self = mh.SorteringModel;
var dit = this;
self.nieuweLabels.push({nieuwLabel:ko.observable('')});
},
fSaveCriterium: function(){
var self = mh.SorteringModel;
var dit = this;
if(!self.nieuwCriterium()){
apprise("Vul eerst een criterium in.");
return;
}
if(!self.nieuwLabel1() || !self.nieuwLabel2() ){
apprise("Vul eerst twee waarden in.");
return;
}
if(self.nieuweLabels()){
for(var i = 0; i < self.nieuweLabels().length; i++ ){
if(self.nieuweLabels()[i].nieuwLabel()==''){
self.nieuweLabels.splice(i,1)
}
}
}
var submitData = {
'swvID' : self.selectedSWV().id,
'criterium' : self.nieuwCriterium(),
'label1' : self.nieuwLabel1(),
'label2' : self.nieuwLabel2(),
'labelArray' : self.nieuweLabels(),
}
$.post("index.php/monpas/sortering/saveCriterium/", submitData, function (data) {
if (data) {
self.fToonSortering();
self.nieuwCriterium('');
self.nieuwLabel1('');
self.nieuwLabel2('');
self.nieuweLabels([]);
}
}, 'json');
$("#nieuwCriterium").modal('hide');
},
fSaveEdit: function(){
var self = mh.SorteringModel;
var dit = this;
if(!self.selectedCriterium().criterium()){
apprise("Vul eerst een criterium in.");
self.selectedCriterium().criterium(self.selectedCriterium().criteriumoud());
return;
}
if(self.selectedCriterium().labels().length < 2){
apprise("Vul de eerste twee waarden in.");
return;
}
if(self.nieuweLabels()){
for(var i = 0; i < self.nieuweLabels().length; i++ ){
if(self.nieuweLabels()[i].nieuwLabel()==''){
self.nieuweLabels.splice(i,1)
}
}
}
var submitData = {
'swvID' : self.selectedSWV().id,
'criteriumid': self.selectedCriterium().criteriumid,
'criterium' : self.selectedCriterium().criterium(),
'labels' : self.selectedCriterium().labels(),
'labelArray' : self.nieuweLabels(),
}
$.post("index.php/monpas/sortering/editCriterium/", submitData, function (data) {
if (data) {
self.selectedCriterium().labels.removeAll();
self.nieuweLabels.removeAll;
self.fToonSortering();
}
}, 'json');
$("#editCriterium").modal('hide');
},
fAnnuleerCriterium: function(){
var self = mh.SorteringModel;
var dit = this;
self.nieuwCriterium('');
self.nieuwLabel1('');
self.nieuwLabel2('');
self.nieuweLabels([]);
$("#nieuwCriterium").modal('hide');
},
fEditCriterium: function(){
var self = mh.SorteringModel;
var dit = this;
self.selectedCriterium(this);
$("#editCriterium").modal('show');
},
fDeleteCriterium: function(){
var self = mh.SorteringModel;
var dit = this;
var criteriumid = dit.criteriumid;
apprise("Weet u zeker dat u <i> " + dit.criterium() + " </i> wilt verwijderen? " +
"Ook de waarden worden verwijderd. " +
"Dit kan niet ongedaan gemaakt worden.", {
'verify': true,
textYes: 'ja',
textNo: 'nee'
}, function (ans) {
if (ans) {
$.post("index.php/monpas/sortering/deleteCriterium/" + criteriumid, function (data) {
if (data) {
self.fToonSortering();
}
}, 'json');
} // if
else {
return false;
} //else
}); //apprise
},
fDeleteLabel: function(){
var self = mh.SorteringModel;
var dit = this;
var labelid = dit.waardeid;
self.selectedLabel(this);
apprise("Weet u zeker dat u <i> " + dit.label() + " </i> wilt verwijderen? ", {
'verify': true,
textYes: 'ja',
textNo: 'nee'
}, function (ans) {
if (ans) {
$.post("index.php/monpas/sortering/deleteLabel/" + labelid, function (data) {
if (data) {
self.selectedCriterium().labels.remove(self.selectedLabel());
}
}, 'json');
} // if
else {
return false;
} //else
}); //apprise
},
fAnnuleerLabel: function(){
var self = mh.SorteringModel;
var dit = this;
self.nieuweLabels.remove(this);
},
fKoppelScholen: function(){
var self = mh.SorteringModel;
var dit = this;
self.toonIndeling(true);
self.selectedCriterium(dit);
self.fGetIndeling();
},
fSluitIndeling: function(){
var self = mh.SorteringModel;
var dit = this;
self.toonIndeling(false);
},
fGetIndeling: function(){
var self = mh.SorteringModel;
var dit = this;
var submitData ={
'swvid' : self.selectedSWV().id,
'criteriumid' : self.selectedCriterium().criteriumid
}
$.post("index.php/monpas/sortering/getSchoolIndelingen", submitData, function (data) {
self.swvindeling('');
if (data) {
self.swvindeling(new fAddSWVIndeling(data));
}
}, 'json');
},
fUpdateIndeling: function(parent){
var self = mh.SorteringModel;
parent.selectedOptie(this.waardeid);
var submitData ={
'orgid' : this.selectedSchool(),
'keuzeid' : this.waardeid,
'criteriumid' : self.selectedCriterium().criteriumid
}
$.post("index.php/monpas/sortering/updateSortering", submitData, function (data){
if(data){
}
})
}
} ; // definition van model
ko.applyBindings(mh.SorteringModel, document.getElementById("pagSortering"));
mh.SorteringModel.initModel();
}; // else
}// function initSorteringModel
});
@@ -0,0 +1,731 @@
function startTinyMCE(callback){
if ($("#contentSopoud").tinymce()) {
tinyMCE.activeEditor.setContent('');
$("#contentSopoud").tinymce().remove();
}
tinymce.init({ selector: "textarea#contentSopoud",
fontsize_formats: "8pt 9pt 10pt 11pt 12pt 26pt 36pt",
fontName: "Verdana",
theme: "modern",
plugins:"advlist ,paste , table, pagebreak, code",
theme_modern_buttons_add: "tablecontrols",
menubar:false,
statusbar:false,
height:554,
width: 700,
table_class_list: [
{title: 'geen', value: ''},
{title: 'zonder rand', value: 'without-border'},
{title: 'met rand', value: 'with-border'}],
table_cell_class_list: [
{title: 'geen', value: ''},
{title: 'zonder rand', value: 'without-border'},
{title: 'met rand', value: 'with-border'}],
table_row_class_list: [
{title: 'geen', value: ''},
{title: 'zonder rand', value: 'without-border'},
{title: 'met rand', value: 'with-border'}],
content_css: "../css/edcontent.css",
browser_spellcheck: true,
paste_data_images:true,
valid_elements: "b,br,em,h1, h2,h3,h4,i,li,ol,a,pagebreak,strong,style,table[style|class|id], tbody,thead,tr,td,th,ul,#p",
extended_valid_elements: "h1[style],h2[style],h3[style],table[style|class|id] ,tr[style|class],td[style|colspan|class],thead[style|class],p[style|class],th[style],div[style|class],*[*]",
pagebreak_separator: "<div style='page-break-after:always'></div> ",
paste_auto_cleanup_on_paste: true,
paste_retain_style_properties:"none",
paste_strip_class_attributes:"none",
font_formats:"Default='Verdana','sans-serif', 'Arial', 'Helvetica' ;",
toolbar: 'undo redo | fontsizeselect | styleselect | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | table | pagebreak | code',
setup:function(ed){
ed.on('blur',function(e){
ls.StandaardSopModel.fGetChapterandSave();
});
}
});
}
$(function(){
ls.initStandaardSopModel = function(){
function fAddChapter(p){
this.id = p.id
this.naam = p.naam;
this.module = p.module;
this.selected = ko.observable(false);
this.aanwezig = ko.observable(p.aanwezig);
}
function fAddProfiel(p){
this.id = p.profielID;
this.soort = p.soort; // geerf vanuit organisatie
this.naam = ko.observable(p.naam);
this.van = ko.observable(p.van);
this.tm = ko.observable(p.tm);
}
function fAddVersie(p){
this.orgversie = p.id;
this.naam = p.naam;
}
if (ls.StandaardSopModel !== undefined){
ls.StandaardSopModel.initModel();
}
else {
ls.StandaardSopModel = {
profielen : ko.observableArray([]),
selectedProfiel : ko.observable(),
newnaam : ko.observable(''),
periodetm : ko.observable(''),
periodevan : ko.observable(''),
chapters : ko.observableArray([]),
selectedChapter : ko.observable(),
inhoud : ko.observable({ id : null,
content : ko.observable(''),
orgversie : ko.observable('') }),
schooljanee : ko.observable(false),
editok : ko.observable(false),
versies : ko.observableArray([]),
selectedVersie : ko.observable(''),
loading : ko.observable(false),
gebruikVersie : ko.observable(''),
gemeld : ko.observable(false),
initBindings :function(){
var self = ls.StandaardSopModel;
if (!ko.dataFor(document.getElementById('pagstandaardsop')) ) {
ko.applyBindings(ls.StandaardSopModel, document.getElementById("pagstandaardsop"));
}
$.post('index.php/monpas/sopoud/getrechten', function(result){
self.editok(result);
startTinyMCE();
self.initModel();
},'json');
},
initModel: function(){
var self = ls.StandaardSopModel;
$.post("index.php/monpas/sopoud/controleerschool", function (result){
self.schooljanee(result);
if (self.schooljanee()){
$.post("index.php/monpas/sopoud/getchapters",function(chapters){
self.chapters.removeAll();
self.selectedChapter(null);
if (chapters){
$.each(chapters, function(i,p){
self.chapters.push(new fAddChapter(p));
});
self.selectedChapter(self.chapters()[0]);
};//if result for chapters
$.post("index.php/monpas/sopoud/getprofielen", function(data){
self.profielen.removeAll();
if (data){
$.each(data, function(i,p){
self.profielen.push(new fAddProfiel(p));
});//each
self.selectedProfiel(self.profielen()[0]);
self.fGetChapterTekst(self.selectedChapter().id);
}; //if data
},'json');
},'json');
}; //if schooljanee
},'json');
},
fGetProfiel:function(){
var self = ls.StandaardSopModel;
var chapterid = 1;
if (!self.selectedProfiel()){
return;
}
$.post('index.php/monpas/sopoud/getchapterids/' + self.selectedProfiel().id,function(result){
$.each(self.chapters(), function(i,p){
p.aanwezig(false);
});
$.each(self.chapters(), function(j,k){
$.each(result, function(a,b){
if (b.chapter_id == k.id) {k.aanwezig(true);};
});
if (k.selected()) self.selectedChapter(k);
//chapterid = k.id;
});
if (!self.selectedChapter()) self.selectedChapter(self.chapters()[0]);
self.fGetChapterTekst();
},'json');
},
fGetChapter: function(){
var self = ls.StandaardSopModel;
var dit = this;
if (self.selectedChapter() && dit.id === self.selectedChapter().id ) return; //hoofdstuk is al geselecteerd
if (!self.selectedProfiel()) {
alert("Er is geen SOP geselecteerd.");
return; // er is nog geen profiel geselecteerd
}
// save het oude hoofdstuk
if (self.selectedChapter() && self.selectedChapter().id > 0){
self.fSaveChapter(self.selectedChapter().id);
}
self.loading(true);
self.gebruikVersie('');
self.gemeld(false);
self.selectedChapter(dit);
self.fGetChapterTekst();
},
fSaveChapter: function(chapterid){
var self =ls.StandaardSopModel;
if (!self.editok()) return;
if (!self.inhoud().id) return;
var tekst = tinymce.get('contentSopoud').getContent({format: 'html'});
var submitData ={ id : self.inhoud().id,
tekst : tekst,
orgversie: self.inhoud().orgversie()}
$.post("index.php/monpas/sopoud/saveinhoud", submitData);
},
fGetChapterandSave:function(){
var self =ls.StandaardSopModel;
var chapID = self.selectedChapter().id;
if (!chapID ){
alert("U heeft geen hoofdstuk geselecteerd");
return;
}
if (chapID){
self.fSaveChapter(chapID);
}
},
fGetChapterTekst: function(){
var self=ls.StandaardSopModel;
if (!self.selectedProfiel()) return;
var nieuw = false
var modulenr = 0;
if (!self.selectedChapter().aanwezig && [0,6,7,11,12].indexOf(self.selectedChapter().id) > 0){
nieuw = true;
}
var versieID = null;
if (self.gebruikVersie() ) {versieID = self.gebruikVersie()}
var submitData = {chapterid : self.selectedChapter().id,
profielid : self.selectedProfiel().id,
versieid : versieID}
showAjaxLoader();
tinymce.activeEditor.setContent('');
setTimeout(function(){
$.post("index.php/monpas/sopoud/getchaptercontent", submitData, function(result){
self.loading(true);
self.versies.removeAll();
self.selectedVersie(0);
self.gebruikVersie('');
self.inhoud().id =0;
self.inhoud().content('');
self.inhoud().orgversie(null);
if (result.versies && result.versies.availversies){
$.each(result.versies.availversies, function(j, versie){
self.versies.push(new fAddVersie(versie));
})
}
if (result.inhoud) {
self.inhoud().id = result.inhoud.id;
self.inhoud().content(result.inhoud.content);
self.inhoud().orgversie(result.inhoud.orgversieid)
}
if (self.inhoud().orgversie()) {self.selectedVersie(self.inhoud().orgversie());}
else {
if (self.versies()) {self.selectedVersie(self.versies()[0])}
else {self.selectedVersie(null)};
}
self.gebruikVersie(self.selectedVersie());
self.loading(false);
tinymce.get('contentSopoud').setContent(result.inhoud.content,{format: 'html'});
// tinyMCE.activeEditor.undoManager.clear();
self.selectedChapter().aanwezig(true);
if (self.selectedChapter().id !== "1" && self.selectedChapter().id !== "5" &&
self.selectedChapter().id !== "4" && self.selectedChapter().id !== "10" &&
!self.selectedVersie() && !self.gemeld()) {
apprise("Er is nog geen instrument bij dit hoofdstuk in gevuld.");
self.gemeld(true);
}
// hideAjaxLoader();
if (nieuw){
if (self.selectedcChapter().id === 6) self.fCheckChapter(11);
if (self.selectedcChapter().id === 11) self.fCheckChapter(6);
if (self.selectedcChapter().id === 7) self.fCheckChapter(12);
if (self.selectedcChapter().id === 12) self.fCheckChapter(7);
}; // if nieuw
},'json').always(function(){
hideAjaxLoader() } );
}, 500);
},
fCheckChapter:function(chapterid){
var self = ls.StandaardSopModel;
var targetchapter = null;
$.each(self.chapters(), function(i,p){
if (p.id === chapterid && p.aanwezig()){ targetchapter = p; } ;
}); // each
if (targetchapter !=null){
apprise("Wilt u hoofdstuk <i>" + targetchapter.naam + "</i> nu verversen?", {verify:true, textYes: 'ja', textNo: 'nee'}, function(ans){
if (ans){
self.fVerversGeenCheck(chapterid);
}
}); // apprise
}; // if targetchapter not null
},
fVerversGeenCheck: function(chapterid){
var self =ls.StandaardSopModel;
if (!self.selectedProfiel()) return;
var submitData = { profielid : self.selectedProfiel().id,
hoofdstuk : chapterid,
versie : self.gebruikVersie()};
showAjaxLoader();
$.post("index.php/monpas/sopoud/getenquetemoduleandsave", submitData, function(result){
hideAjaxLoader();
},'json');
},
fNieuwProfiel: function(){
var self =ls.StandaardSopModel;
self.newnaam('');
$("#modNieuwProfiel").modal('show');
},
fSaveProfiel: function(){
var self =ls.StandaardSopModel;
var submitData ={ naam : self.newnaam(),
van : self.periodevan(),
tm : self.periodetm()}
$.post("index.php/monpas/sopoud/maaknewprofiel", submitData, function(result){
if (result){
self.profielen.push(new fAddProfiel(result));
self.selectedProfiel(self.profielen()[self.profielen().length-1 ] );
$.each(self.chapters(), function(i,p){
p.aanwezig(false);
}); // each
self.selectedChapter(self.chapters()[0]);
self.selectedVersie(null);
self.fGetChapterTekst(self.selectedChapter().id);
}
},'json');
$("#modNieuwProfiel").modal('hide');
},
fDeleteProfiel :function(){
var self =ls.StandaardSopModel;
apprise("Weet u zeker dat u " + self.selectedProfiel().naam() + " wilt verwijderen? U kunt dit niet ongedaan maken!",
{verify:true, textYes:'ja', textNo:"nee"}, function(ans){
if (ans){
$.post("index.php/monpas/sopoud/deleteprofiel/" + self.selectedProfiel().id, function(){
self.profielen.remove(self.selectedProfiel());
if (self.profielen().length>0){
self.selectedProfiel(self.profielen()[0]);
self.fGetProfiel();
}
else{
tinyMCE.activeEditor.setContent('');
$.each(self.chapters(), function(i,p){
p.selected(false);
p.aanwezig(false);
});
self.selectedChapter(null);
}
});
}
});//apprise
},
fEditProfiel:function(){
var self = ls.StandaardSopModel;
if (!self.selectedProfiel()) return;
$("#modEditProfiel").modal('show');
},
fUpdateProfiel: function(){
var self = ls.StandaardSopModel;
var submitData = { id : self.selectedProfiel().id,
naam : self.selectedProfiel().naam(),
van : self.selectedProfiel().van(),
tm : self.selectedProfiel().tm()}
$.post('index.php/monpas/sopoud/updateprofiel', submitData, function(){
$("#modEditProfiel").modal('hide');
},'json');
},
fVervers : function(){
var self =ls.StandaardSopModel;
if (!self.selectedProfiel()) return;
if (!self.selectedChapter()) {
alert("U heeft geen hoofdstuk geselecteerd");
return;
}
apprise("Weet u zeker dat u de tabellen wilt verversen? " +
"Wijzigingen die u heeft aangebracht op plaatsen met een lichtgele achtergrond gaan verloren.",
{verify:true, textYes: 'ja', textNo:'nee'}, function(ans){
self.fGetNieuweTabellen(false);
}); // apprise
},
fGetNieuweTabellen: function(updaterelatedchapters){
var self = ls.StandaardSopModel;
var newhtml = '';
switch (parseInt(self.selectedChapter().id)){
case 1: $.post('index.php/monpas/sopoud/getschooldetails', function(result){
if (result) {
newhtml=result;
tinymce.activeEditor.dom.remove("tablesopschooldetails");
if (tinymce.get('contentSopoud').dom.select('div.tableholderschooldetails').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderschooldetails')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
}
},'json'); //post
break;
case 2: showAjaxLoader();
$.post("index.php/monpas/sopoud/getdiversiteit1/" + self.selectedProfiel().id + '/' + self.gebruikVersie(), function(result){
if (result) {
newhtml=result.dvt2;
tinymce.activeEditor.dom.remove("tablediversiteit2");
if (tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitsomvang').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitsomvang')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
newhtml=result.dvt3;
tinymce.activeEditor.dom.remove("tablediversiteit3");
if (tinymce.get('contentSopoud').dom.select('div.tableholderleerlingaantallen').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderleerlingaantallen')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
newhtml=result.dvt4;
tinymce.activeEditor.dom.remove("tablediversiteit4");
if (tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitsquotienten').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitsquotienten')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
newimage=result.imagedata;
tinymce.activeEditor.dom.remove("divimage1");
if (tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitprofiel').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitprofiel')[0], newimage);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newimage);};
};//if result
hideAjaxLoader();
},'json');
break;
case 3: $.post("index.php/monpas/sopoud/getondersteuning1/" + self.selectedProfiel().id + '/' + self.gebruikVersie(), function(result){
if (result) {
newhtml=result.os1;
tinymce.activeEditor.dom.remove("tableondersteuning1");
if (tinymce.get('contentSopoud').dom.select('div.tableholderondersteuningsmatrix').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderondersteuningsmatrix')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
newhtml=result.os2;
tinymce.activeEditor.dom.remove("tableondersteuning2");
if (tinymce.get('contentSopoud').dom.select('div.tableholderaardondersteuning').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderaardondersteuning')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
}
},'json');
break;
case 6:
showAjaxLoader();
$.post("index.php/monpas/sopoud/getenquetemodule/" + self.selectedProfiel().id + '/' + 1 + '/' +self.selectedChapter().id + '/' + self.gebruikVersie(), function(result){
if (result) {
newimg = result.imagedata;
tinymce.activeEditor.dom.remove("mod1image1");
if (tinymce.get('contentSopoud').dom.select('div.grafiekholdermonbas').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.grafiekholdermonbas')[0], newimg);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newimg);};
newhtml=result.tabel1;
tinymce.activeEditor.dom.remove("tabelmb1");
if (tinymce.get('contentSopoud').dom.select('div.tableholdermonbasteam').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdermonbasteam')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
newhtml=result.tabel2;
tinymce.activeEditor.dom.remove("tabelmb2");
if (tinymce.get('contentSopoud').dom.select('div.tableholdermonbasschool').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdermonbasschool')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
}
hideAjaxLoader();
},'json');
break;
case 7: showAjaxLoader();
$.post("index.php/monpas/sopoud/getenquetemodule/" + self.selectedProfiel().id + '/' + 4+ '/' +self.selectedChapter().id + '/' + self.gebruikVersie(), function(result){
if (result) {
newimg = result.imagedata;
tinymce.activeEditor.dom.remove("mod4image1");
if (tinymce.get('contentSopoud').dom.select('div.grafiekholdersm').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.grafiekholdersm')[0], newimg);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newimg);};
newhtml=result.tabel1;
tinymce.activeEditor.dom.remove("tabelsm1");
if (tinymce.get('contentSopoud').dom.select('div.tableholdersm1').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdersm1')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
newhtml=result.tabel2;
tinymce.activeEditor.dom.remove("tabelsm2");
if (tinymce.get('contentSopoud').dom.select('div.tableholdersm2').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdersm2')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
}
hideAjaxLoader();
},'json');
break;
case 8: showAjaxLoader();
$.post("index.php/monpas/sopoud/getenquetemodule/" + self.selectedProfiel().id + '/' + 5+ '/' +self.selectedChapter().id + '/' + self.gebruikVersie(), function(result){
if (result) {
newimg = result.imagedata;
tinymce.activeEditor.dom.remove("mod5image1");
if (tinymce.get('contentSopoud').dom.select('div.grafiekholders').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.grafiekholders')[0], newimg);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newimg);};
newhtml=result.tabel1;
tinymce.activeEditor.dom.remove("estabel1");
if (tinymce.get('contentSopoud').dom.select('div.tableholderexpertise1').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderexpertise1')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
newhtml=result.tabel2;
tinymce.activeEditor.dom.remove("estabel2");
if (tinymce.get('contentSopoud').dom.select('div.tableholderexpertise2').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderexpertise2')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
}
hideAjaxLoader();
},'json');
break;
case 9: showAjaxLoader();
$.post("index.php/monpas/sopoud/getenquetemodule/" + self.selectedProfiel().id + '/' + 3+ '/' +self.selectedChapter().id + '/' + self.gebruikVersie(), function(result){
if (result) {
newimg = result.imagedata;
tinymce.activeEditor.dom.remove("mod3image1");
if (tinymce.get('contentSopoud').dom.select('div.grafiekholdertv').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.grafiekholdertv')[0], newimg);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newimg);};
newhtml=result.tabel1;
tinymce.activeEditor.dom.remove("tvtabel1");
if (tinymce.get('contentSopoud').dom.select('div.tableholdertevredenheid1').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdertevredenheid1')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
newhtml=result.tabel2;
tinymce.activeEditor.dom.remove("tvtabel2");
if (tinymce.get('contentSopoud').dom.select('div.tableholdertevredenheid2').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdertevredenheid2')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
}
hideAjaxLoader();
},'json');
break;
case 11: showAjaxLoader();
$.post("index.php/monpas/sopoud/getontwikkelagenda/" + self.selectedProfiel().id + '/' + 1 + '/' + self.gebruikVersie(), function(result){
if (result) {
newhtml=result.image1;
tinymce.activeEditor.dom.remove("oa1image1");
if (tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda1').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda1')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
newhtml=result.tabel2;
tinymce.activeEditor.dom.remove("mod1tabel2");
if (tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda2').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda2')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
}
hideAjaxLoader();
},'json');
break;
case 12: showAjaxLoader();
$.post("index.php/monpas/sopoud/getontwikkelagenda/" + self.selectedProfiel().id + '/' + 4+ '/' + self.gebruikVersie(), function(result){
if (result) {
newhtml=result.image1;
tinymce.activeEditor.dom.remove("oa2image1");
if (tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda1').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda1')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
newhtml=result.tabel2;
tinymce.activeEditor.dom.remove("mod4tabel2");
if (tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda2').length > 0){
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda2')[0], newhtml);
}
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
}
hideAjaxLoader();
},'json');
break;
}; // switch
if (updaterelatedchapters){
if (self.selectedChapter().id === 6) self.fCheckChapter(11);
if (self.selectedChapter().id === 11) self.fCheckChapter(6);
if (self.selectedChapter().id === 7) self.fCheckChapter(12);
if (self.selectedChapter().id === 12) self.fCheckChapter(7);
}
},
fVerversVersie :function(model, event){
var self = ls.StandaardSopModel;
if (self.loading()) return;
if(event.originalEvent && event.originalEvent.isTrusted){
var chaplijst = '';
var chapids = [];
self.gebruikVersie(self.selectedVersie());
$.each(self.chapters(), function (j, k) {
if (k.id !== self.selectedChapter().id &&
k.aanwezig() &&
k.module === self.selectedChapter().module) {
chaplijst = chaplijst + k.naam + ", ";
chapids.push(k.id);
}
});
var sd = {
inhoudid: self.inhoud().id,
versie: self.gebruikVersie(),
chapterid: self.selectedChapter().id,
chapids: chapids,
profielid: self.selectedProfiel().id
}
var apprisestring = 'Bij het instellen van een nieuwe versie, worden de tabellen ververst en eventuele wijzigingen die u heeft aangebracht gaan verloren. ';
if (chaplijst > '') {
chaplijst = "<i>" + chaplijst + "</i>" + " gebruikt dezelfde gegevens. Dit hoofdstuk zal ook worden aangepast.";
apprisestring = apprisestring + "<br>" + chaplijst + "<br>";
}
apprisestring = apprisestring + "<br>Weet u zeker dat u een ander schooljaar of andere lijstversie wilt gebruiken? ";
apprise(apprisestring,
{verify: true, textYes: 'ja', textNo: 'nee'}, function (ans) {
if (ans) {
showAjaxLoader();
$.post("index.php/monpas/sopoud/saveversie", sd, function (waitfor) {
self.inhoud().orgversie(self.gebruikVersie());
self.fGetNieuweTabellen(true);
hideAjaxLoader();
}, 'json');
}
else {
self.loading(true);
self.selectedVersie(self.inhoud().orgversie());
self.gebruikVersie(self.selectedVersie());
self.loading(false);
}
}); // apprise
}
},
fOpnieuw: function(){
var self = ls.StandaardSopModel;
if (!self.selectedProfiel()) return;
if (!self.selectedChapter() ){
alert("U heeft geen hoofdstuk geselecteerd");
return;
}
//gooi de oude pagina weg en begin opnieuw.
apprise("Weet u zeker dat u het hoofdstuk opnieuw wilt laten maken? Alle wijzigingen die u heeft aangebracht gaan daarmee verloren.",
{verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
if (ans){
showAjaxLoader();
$.post('index.php/monpas/sopoud/deletehoofdstuk/' + self.selectedProfiel().id + '/' + self.selectedChapter().id, function(result){
self.fGetChapterTekst(self.selectedChapter().id);
},'json');
hideAjaxLoader();
if (self.selectedChapter().id === 6) self.fCheckChapter(11);
if (self.selectedChapter().id === 11) self.fCheckChapter(6);
if (self.selectedChapter().id === 7) self.fCheckChapter(12);
if (self.selectedChapter().id === 12) self.fCheckChapter(7);
};// if ans
}); // apprise
},
fMaakPdf :function(){
var self = ls.StandaardSopModel;
if (!self.selectedProfiel()) return;
var data={profielid : self.selectedProfiel().id};
var submitUrl = "index.php/monpas/sopoud/maakpdf/?json=" +JSON.stringify(data);
window.open(submitUrl);
},
fMaakWord: function(){
var self = ls.StandaardSopModel;
if (!self.selectedProfiel()) return;
var sURL="index.php/monpas/sopoud/maakword/" + self.selectedProfiel().id ;
window.open(sURL);
},
fDelChapter :function(){
var self =ls.StandaardSopModel;
var dit = this;
apprise("Weet u zeker dat u hoofdstuk " + dit.naam + " wilt verwijderen?", {verify:true, textYes:'ja', textNo: 'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/sopoud/deletehoofdstuk/" + self.selectedProfiel().id + '/' + dit.id,function(result){
self.selectedChapter(null);
tinyMCE.activeEditor.setContent('');
dit.aanwezig(false);
$.each(self.chapters(), function(i,p){
// if (p.aanwezig){
if(p.id === '1'){
self.selectedChapter(p);
self.selectedVersie(null);
self.gebruikVersie('');
self.fGetChapterTekst();
return;
}
});//each
},'json');
}
}); // apprise
}
} ; // definition van model
ls.StandaardSopModel.initBindings();
}; // else
}// function initStandaardSopModel
});
@@ -0,0 +1,168 @@
// Streefcijfers biedt de mogelijkheid voor "gewone" gebruikers om de periode versies in te stellen.
// In eerste instantie alleen de criteria, maar zou, naar overleg met Rob ook de vorm of het antwoordtype kunnen zijn
//hierarchie is SWV ->Kamer->BG.Gebruikers van organisaties op die niveaus mogen de criteria voor de scholen aanpassen.
//wanneer de criteria gebruikt worden, wordt altijd gezocht naar het laagste niveau waarop de criteria zijn gedefinieerd.
//streefcijfers gelden voor alle scholen onder de organisatie
$(function(){
ls.initStreefcijfersModel = function(){
var timeout;
function fAddVersieAmbitie(p){
this.id = p.id; // ambitie id
this.periodenummer = p.periodenummer;
this.naam = p.naam ; // versienaam
this.orgversieid = p.orgversie_id;
this.geldigvanaf = p.geldigvanaf;
this.geldigtm = p.geldigtm;
this.info = ko.computed(function(){
var info = this.periodenummer + '. (versie: ' + this.naam + ') geldig vanaf ' + this.geldigvanaf + ' t/m ' + this.geldigtm;
return info;
},this);
this.gemscore = ko.observable(p.gemscore);
this.xijkpunten = ko.observable(p.xijkpunten);
this.zprocent = ko.observable(p.zprocent);
this.wijzigok = p.wijzigok;
}
function fAddSwv (p){
var dit = this;
this.id = p.id;
this.brin = p.brin
this.naam = p.brin + ' - ' + p.naamkort;
this.plaats = p.plaats;
this.kamers = ko.observableArray([]);
if (p.kamers){
$.each(p.kamers, function(j,k){
dit.kamers.push(new fAddNivo2(k));
})
}
if (p.bgs){
$.each(p.bgs, function(j,k){
dit.kamers.push(new fAddBG(k));
});
}
}
function fAddNivo2 (p){
var dit = this;
this.id = p.id;
this.naam = p.brin + ' - ' + p.naamkort;
this.plaats = p.plaats;
this.bgs = ko.observableArray([]);
if (p.bgs){
$.each(p.bgs, function(j,k){
dit.bgs.push(new fAddBG(k));
})
}
}
function fAddBG (p){
var dit = this;
this.id = p.id;
this.naam = p.brin + ' - ' + p.naamkort;
this.plaats = p.plaats;
this.bgs = ko.observableArray([]);
}
if (ls.StreefcijfersModel !== undefined){
ls.StreefcijfersModel.initModel();
}
else {
ls.StreefcijfersModel = {
versieambities : ko.observableArray([]),
swv : ko.observableArray([]),
selectedOrganisatie : ko.observable(''),
zelfniveau : ko.observable(3),
bezig : ko.observable(false),
initBindings :function(){
var self = ls.StreefcijfersModel;
if (!ko.dataFor(document.getElementById('pagstreefcijfers')) ) {
ko.applyBindings(ls.StreefcijfersModel, document.getElementById("pagstreefcijfers"));
}
self.initModel();
},
initModel: function(){
var self = ls.StreefcijfersModel;
self.swv.removeAll();
$.post("index.php/monpas/streefcijfers/getorganisaties", function(swv){
if (swv){
self.swv.push(new fAddSwv(swv));
self.selectedOrganisatie(self.swv()[0]);
}
$.post("index.php/monpas/streefcijfers/getzelfniveau", function(nivo){
self.zelfniveau(nivo);
self.fGetAmbities();
},'json')
},'json');
},
fSetSelected : function(){
var self = ls.StreefcijfersModel;
if (this.id == self.selectedOrganisatie().id) return;
self.selectedOrganisatie(this);
if (self.selectedOrganisatie() == undefined) return;
self.fGetAmbities();
},
fGetAmbities : function() {
var self = ls.StreefcijfersModel;
self.versieambities.removeAll();
$.post("index.php/monpas/streefcijfers/getorgversies_ambities/" + self.selectedOrganisatie().id, function(data){
if (data){
$.each(data, function(i,p){
self.versieambities.push(new fAddVersieAmbitie(p));
});
}
},'json');
},
fUpdateAmbitie : function(){
var self = ls.StreefcijfersModel;
var dit = this;
if (self.bezig()) return
if (timeout){
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(function(){
self.bezig(true);
var submitData={ "id" : dit.id,
"orgversie_id" : dit.orgversieid,
"organisatie_id" : self.selectedOrganisatie().id,
"gemscore" : dit.gemscore(),
"xijkpunten" : dit.xijkpunten(),
"zprocent" : dit.zprocent()}
$.post("index.php/monpas/streefcijfers/updateambitie", submitData, function(newid){
if (newid) {self.fGetAmbities();};
self.bezig(false);
},'json');
},700);
},
fDelete:function(){
var self = ls.StreefcijfersModel;
if (self.bezig()) return;
self.bezig(true);
var dit = this;
apprise("Weet u zeker dat u de criteria bij " + dit.naam + " wilt verwijderen?",
{verify: true, textYes:'ja', textNo: 'nee'}, function(ans){
if (ans){
var sd = {id : dit.id}
$.post('index.php/monpas/streefcijfers/verwijder', sd, function(result){
self.bezig(false);
self.versieambities.remove(dit);
},'json');
} else {
self.bezig(false);
}
}); // apprise
}
} ; // definition van model
ls.StreefcijfersModel.initBindings();
}; // else
}// function initStreefcijfersModel
});
+347
View File
@@ -0,0 +1,347 @@
$(function(){
ls.initSWVversiesModel = function(){
var vandaag;
function fAddModule(p){
this.sysnr = p.sysnr;
this.naam = p.naam;
}
function fAddOrg(p){
var dit =this;
this.id = p.id
this.naam = p.naam;
this.brin = p.brin;
this.valtonderid = p.valtonder_id;
this.soort = p.soort;
this.zichtbaar = ko.observable(true);
this.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.naam = p.naam;
this.brin = p.brin;
this.valtonderid = p.valtonder_id;
this.soort = p.soort;
this.zichtbaar = ko.observable(true);
}
function fAddKoppeling(p){
var dit = this;
this.id = p.id
this.versieid = p.versie_id;
this.actief = ko.observable(true);
if (p.actief == 0) this.actief(false);
this.naam = p.naam;
this.geldigvanaf = ko.observable(p.geldigvanaf);
this.geldigtm = ko.observable(p.geldigtm);
this.invullentm = ko.observable(p.invullentm);
this.vorm = ko.observable(p.vorm);
this.scoretype = ko.observable(p.scoretype);
this.scoretekst = ko.observable(p.scoretekst == '1' ? true: false)
this.toonOmschrijving = ko.observable(false);
if(p.score_omschrijving == 'T') this.toonOmschrijving(true);
this.wijzigok = ko.observable(false);
if (p.ingevuld == 0 ) this.wijzigok(true);
this.toonTekstoptie = ko.pureComputed(function(){
var toon = false;
if(dit.scoretekst()== true){
toon = true;
}
return toon;
});
}
function fAddVersie(k){
this.id = k.id
this.naam = k.naam;
this.ingangsdatum = k.ingangsdatum;
}
if (ls.SWVversiesModel !== undefined){
ls.SWVversiesModel.initModel();
}
else {
ls.SWVversiesModel = {
swvs : ko.observableArray([]),
bgs : ko.observableArray([]),
orgtype : ko.observable(1), // 1 = swvs en kamers 2=bgs
selectedOrg : ko.observable(),
versies : ko.observableArray([]),
koppelingen : ko.observableArray([]),
newKoppelingVersie : ko.observable(),
newKoppelingGeldigvanaf : ko.observable(),
newKoppelingGeldigtm : ko.observable(),
newKoppelingInvullentm : ko.observable(),
newKoppelingVorm : ko.observable(),
newScoretype : ko.observable(),
newOmschrijving : ko.observable(false),
vormarray : ko.observableArray([{id: 1 , naam : 'schoolversie'},
{id: 2, naam: 'ik-vorm'}]),
scoretypes : ko.observableArray([
{id: 1 , naam : 'rapportcijfer'},
{id: 2, naam: 'percentage'},
{id: 3, naam: 'ja/nee/bezig'}]),
modules : ko.observableArray([]),
selectedModule : ko.observable(''),
toonOptie : ko.pureComputed(function(){
var toon = true;
if(ls.SWVversiesModel && (ls.SWVversiesModel.newScoretype()== '1' ||
ls.SWVversiesModel.newScoretype()== '2' )){
toon = false;
}
return toon;
}),
initBindings :function(){
var self = ls.SWVversiesModel;
if (!ko.dataFor(document.getElementById('pagSWVversies')) ) {
ko.applyBindings(ls.SWVversiesModel, document.getElementById("pagSWVversies"));
}
// get alle modules met een lijst want het swv, kamer of bg hoeft niet gekoppeld te zijn aan een instrument
// terwijl de school dat wel is.
// versie zijn immers alleen op het hoogste niveau (kamer of SWV) gekoppeld.
$.post("index.php/monpas/swvversies/getantwoordtypes" , function(types){
self.scoretypes.removeAll();
if (types){
$.each(types, function(i,p){
self.scoretypes.push({sysnr: p.sysnr, naam: p.omschrijving, scoretekst: p.scoretekst });
}); // each
}; // if
$.post("index.php/monpas/swvversies/getmodulesmetlijst" , function(result){
self.modules.removeAll();
if (result){
$.each(result, function(i,p){
self.modules.push(new fAddModule(p));
});
self.selectedModule(self.modules[0]);
self.initModel();
}; // if rsult
},'json');
},'json');
},
initModel: function(){
var self =ls.SWVversiesModel;
var nu = new Date();
vandaag= $.datepicker.formatDate("dd-mm-yy",nu);
$.post('index.php/monpas/swvversies/getswvs', function(data){
self.swvs.removeAll();
if (data){
$.each(data, function(i,p){
self.swvs.push(new fAddOrg(p));
});
}
},'json');
},
fChangeModule : function(){
var self= ls.SWVversiesModel;
if (!self.selectedOrg()) return;
self.fGetDetails();
},
fSetSelectedOrg :function(){
var self= ls.SWVversiesModel;
self.selectedOrg(this);
self.fGetDetails();
},
fGetDetails : function(){
var self= ls.SWVversiesModel;
// self.selectedOrg(this);
if (self.selectedOrg() == undefined) return;
var submitData = {orgid : self.selectedOrg().id,
module: self.selectedModule().sysnr}
$.post("index.php/monpas/swvversies/getkoppelingen", submitData, function(data){
self.koppelingen.removeAll();
if (data){
$.each(data, function(i,p) {
self.koppelingen.push(new fAddKoppeling(p));
});
}
},'json');
},
fToonInfoTekst: function(){
var self =ls.SWVversiesModel;
apprise('Toon scoreomschrijvingen in de invullijst.')
},
fNieuweKoppeling: function(){
var self =ls.SWVversiesModel;
// hier moet wel rekening gehouden worden met de module!!
// en niet met de organisatie.
var submitData={module: self.selectedModule().sysnr};
$.post("index.php/monpas/swvversies/getversies" ,submitData, function(result){
self.versies.removeAll();
if (result){
$.each(result, function(j,k){
self.versies.push(new fAddVersie(k));
})
}
self.newKoppelingGeldigvanaf(vandaag);
var d= new Date();
d.setFullYear( d.getFullYear() + 2 );
d.setDate(d.getDate() - 1);
dag= $.datepicker.formatDate("dd-mm-yy",d);
self.newKoppelingGeldigtm(dag);
self.newKoppelingInvullentm(dag);
$("#modNieuweKoppeling").modal('show');
},'json');
},
fSaveKoppeling: function(){
var self=ls.SWVversiesModel;
var gaverder = true;
if(self.newOmschrijving()== true){
$.each(self.scoretypes(), function (i, s){
if(s.sysnr == self.newScoretype()){
if(s.scoretekst == '0'){
apprise("Maak eerst een scoreomschrijving of vink de optie Toon scoreomschrijving uit")
gaverder = false;
return;
}
}
})
}
if(gaverder == true) {
$("#modNieuweKoppeling").modal('hide');
var submitData = {
orgid: self.selectedOrg().id,
versieid: self.newKoppelingVersie().id,
geldigvanaf: self.newKoppelingGeldigvanaf(),
geldigtm: self.newKoppelingGeldigtm(),
invullentm: self.newKoppelingInvullentm(),
omschrijving: self.newOmschrijving() == true ? 'T' : 'F',
vormid: self.newKoppelingVorm(),
scoretype: self.newScoretype()
}
$.post("index.php/monpas/swvversies/insertkoppeling", submitData, function (result) {
if (result) {
self.koppelingen.push(new fAddKoppeling(result));
}
;
}, 'json');
}
},
fDeleteKoppeling : function(){
var self = ls.SWVversiesModel;
var dit = this;
apprise("Weet u zeker dat u de koppeling met <i>" + dit.naam + "</i> wilt verwijderen?" ,
{verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/swvversies/deletekoppeling/"+ dit.id, function(result){
if (result){
self.koppelingen.remove(dit);
}
},'json');
}; // if ans
});// apprise
},
fUpdateKoppeling: function(){
var self = ls.SWVversiesModel;
var dit = this;
if(dit.toonOmschrijving()== true && dit.scoretype() != '1' && dit.scoretype() != '2'){
$.each(self.scoretypes(), function (i, s){
if(s.sysnr == dit.scoretype()){
if(s.scoretekst == '0'){
apprise("Maak eerst een scoreomschrijving.")
self.toonOmschrijving(self.toonOmschrijving());
}
}
})
}
var submitData={ id : this.id,
geldigvanaf : this.geldigvanaf(),
geldigtm : this.geldigtm(),
invullentm : this.invullentm(),
vormid : this.vorm(),
scoretype : this.scoretype() }
$.post("index.php/monpas/swvversies/updatekoppeling", submitData, function(result){
},'json');
},
fUpdateScores: function(){
var self = ls.SWVversiesModel;
var dit = this;
var toon = "F";
dit.toonOmschrijving(!dit.toonOmschrijving());
if(dit.toonOmschrijving()== true){
$.each(self.scoretypes(), function (i, s){
if(s.sysnr == dit.scoretype()){
if(s.scoretekst == '0'){
apprise("Maak eerst een scoreomschrijving.")
self.toonOmschrijving(self.toonOmschrijving());
}
else{
toon = "T";
}
}
})
}
var submitData = {
id : this.id,
omschrijving : toon
}
$.post("index.php/monpas/swvversies/updatetoonomschrijving", submitData, function(result){
},'json');
return true;
},
fUpdateActief : function(){
var self = ls.SWVversiesModel;
var dit = this;
var tekst = "Weet u zeker dat u " + dit.naam;
if (dit.actief()) {
tekst += " de actieve versie wilt maken? "
}
else { tekst += " wilt deactiveren? "}
apprise(tekst, {verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
if (ans){
if (dit.actief()) {
$.post("index.php/monpas/swvversies/maakactief/" + dit.id + '/' + self.selectedModule().sysnr);
$.each(self.koppelingen(), function(i,p){
if (p.id != dit.id) { p.actief(false);}
}); // each
}
else {
$.post("index.php/monpas/swvversies/maakinactief/" + dit.id);
} ;
} // if ans
else {dit.actief(!dit.actief()) }
});
return true;
}
} ; // definition van model
ls.SWVversiesModel.initBindings();
}; // else
}// function initSWVversiesModel
});
+315
View File
@@ -0,0 +1,315 @@
$(function(){
ls.initVersiesModel = function(){
var timeout;
function fAddModule(p){
this.sysnr = p.sysnr;
this.naam = p.naam;
}
function fAddVersie(p){
this.id = p.id;
this.naam = ko.observable(p.naam);
this.ingang = ko.observable(p.ingangsdatum);
this.systemnorm = ko.observable(p.systemnorm);
this.deleteok = ko.observable(p.deleteok);
}
function fAddIJkpunt(p){
var dit = this;
this.id = p.id;
this.nummer = ko.observable(p.nummer);
this.omschrijving = ko.observable(p.omschrijving);
this.toelichting = ko.observable(p.toelichting);
this.indicatoren = ko.observableArray([]);
if (p.indicatoren){
$.each(p.indicatoren, function(j,k){
dit.indicatoren.push(new fAddIndicator(k));
});
}
this.toonindics = ko.observable(false);
}
function fAddIndicator(k){
this.id = k.id;
this.nummer = ko.observable(k.nummer);
this.gewicht = ko.observable(k.gewicht);
this.omschrijving1 = ko.observable(k.omschrijving1);
this.omschrijving2 = ko.observable(k.omschrijving2);
this.inspectie = ko.observable(k.inspectie);
this.deleteok = k.deleteok;
}
if (ls.VersiesModel !== undefined){
ls.VersiesModel.initModel();
}
else {
ls.VersiesModel = {
autonivo : ko.observable(0),
versies : ko.observableArray([]),
selectedVersie : ko.observable(''),
newVersieNaam : ko.observable(''),
ijkpunten : ko.observableArray([]),
newIJkpunt : ko.observable({nummer: ko.observable(0), naam:ko.observable(''), toelichting: ko.observable('')}),
selectedIJkpunt : ko.observable(''),
newIndicator : ko.observable({id : null,
ijkpunt_id : null,
nummer : ko.observable(0),
gewicht : ko.observable(1),
omschrijving1 : ko.observable(),
omschrijving2 : ko.observable(),
inspectie : ko.observable(),
deleteok : ko.observable(true) }),
modules : ko.observableArray([]),
selectedModule : ko.observable(''),
initBindings :function(){
var self = ls.VersiesModel;
if (!ko.dataFor(document.getElementById('pagVersies')) ) {
ko.applyBindings(ls.VersiesModel, document.getElementById("pagVersies"));
}
$.post("index.php/monpas/beheer/getmodules", function(result){
self.modules.removeAll();
if (result){
$.each(result, function(i,p){
self.modules.push(new fAddModule(p));
});
self.selectedModule(self.modules[0]);
}; // if rsult
self.initModel();
},'json');
},
initModel: function(){
var self = ls.VersiesModel;
$.post("index.php/shared/autorisatienivos/getautorisatie", function(result){
self.autonivo(result)
// self.fGetVersies();
},'json');
},
fGetVersies : function(){
var self =ls.VersiesModel;
$.post("index.php/monpas/beheer/getversies/" + self.selectedModule().sysnr, function(data){
self.versies.removeAll();
self.ijkpunten.removeAll();
if (data) {
$.each(data,function(i,p){
self.versies.push(new fAddVersie(p));
});
self.selectedVersie(self.versies()[0] );
}
},'json');
},
fChangeModule: function(){
var self =ls.VersiesModel;
self.fGetVersies();
},
fMaakNieuweVersie: function(){
var self = ls.VersiesModel;
self.newVersieNaam('');
$("#modNieuweVersie").modal('show');
},
fUpdateVersie: function(){
var self = ls.VersiesModel;
var dit = this;
if (timeout){
clearTimeout(timeout)
timeout ==null;
}
timeout=setTimeout(function(){
var submitData = { id : dit.id,
naam : dit.naam(),
ingangsdatum : dit.ingang(),
systemnorm : dit.systemnorm()}
$.post("index.php/monpas/beheer/updateversie",submitData, function(){})
},700);
},
fSaveVersie: function(){
var self = ls.VersiesModel;
if (!self.selectedModule()) {
apprise("Er is geen instrument geselecteerd. De lijst kan niet worden aangemaakt.");
return;
}
var submitData= {nieuwnaam : self.newVersieNaam(),
module : self.selectedModule().sysnr}
$.post("index.php/monpas/beheer/insertversie/" ,submitData, function(result){
if (result) {
self.versies.push(new fAddVersie(result));
$.each(self.versies(), function(i,p){
if (p.id == result.id){self.selectedVersie(p); return false;}
})
} ; // if result
self.ijkpunten.removeAll();
},'json');
},
fDeleteVersie: function(){
var self=ls.VersiesModel;
$.post("index.php/monpas/beheer/deleteversie/" + self.selectedVersie().id, function(result){
if (result.length > 0){
apprise(resulterrortekst);
}
else{
self.versies.remove(self.selectedVersie());
}
},'json')
},
fChangeVersie: function(){
var self=ls.VersiesModel;
self.ijkpunten.removeAll();
if (self.selectedVersie() == undefined) return;
$.post("index.php/monpas/beheer/getijkpunten/"+ self.selectedVersie().id, function(data){
self.ijkpunten.removeAll();
if (data){
$.each(data, function(i,p){
self.ijkpunten.push(new fAddIJkpunt(p));
});
}
},'json');
},
fNieuwIJkpunt: function(){
var self = ls.VersiesModel;
var num = 0;
var i=self.ijkpunten().length;
var i = parseInt(i) - 1;
if (i >= 0) {
num = self.ijkpunten()[i].nummer();
};
self.newIJkpunt().nummer(parseInt(num)+ 1);
self.newIJkpunt().naam('');
self.newIJkpunt().toelichting('');
$("#modNieuwIJkpunt").modal('show');
},
fSaveIJkpunt: function(){
var self=ls.VersiesModel;
var submitData={versie_id : self.selectedVersie().id,
nummer : self.newIJkpunt().nummer(),
omschrijving : self.newIJkpunt().naam(),
toelichting : self.newIJkpunt().toelichting()};
$.post("index.php/monpas/beheer/insertijkpunt", submitData, function(data){
if (data){
self.ijkpunten.push(new fAddIJkpunt(data));
$.each(self.ijkpunten(), function(i,p){
if (p.id == data.id){
self.selectedIJkpunt(p);
return false;
}
});
}
else { apprise("Er is een fout opgetreden bij opslaan."); };
},'json');
},
fToggleIndicatoren: function(){
var self= ls.VersiesModel;
self.selectedIJkpunt(null);
self.selectedIJkpunt(this);
this.toonindics(!this.toonindics());
},
fUpdateIJkpunt: function(){
var self= ls.VersiesModel;
var dit = this;
if (timeout){
clearTimeout(timeout)
timeout ==null;
}
timeout=setTimeout(function(){
var submitData={id : dit.id,
nummer : dit.nummer(),
versie_id : self.selectedVersie().id,
omschrijving : dit.omschrijving(),
toelichting : dit.toelichting()}
$.post("index.php/monpas/beheer/updateijkpunt",submitData, function(){})
},800);
},
fDeleteIJkpunt:function(){
var self =ls.VersiesModel;
var id = this.id;
var dit = this;
if ( self.ijkpunten().indicatoren !== undefined && self.ijkpunten().indicatoren().length > 0) {
apprise('Er zijn nog indicatoren. IJkpunt mag niet verwijderd worden');
return;
}
else{
apprise("Weet u zeker dat u " + this.omschrijving() + " wilt verwijderen? " ,
{verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/beheer/deleteijkpunt/" + id);
self.ijkpunten.remove(dit);
}
}); // apprise
}
},
fNieuweIndicator: function(){
var self = ls.VersiesModel;
var num =0
self.selectedIJkpunt(this);
$.each(self.selectedIJkpunt().indicatoren(), function(j,k){
num=k.nummer();
})
self.newIndicator().nummer(parseInt(num) + 1);
self.newIndicator().gewicht(1);
self.newIndicator().ijkpunt_id= self.selectedIJkpunt().id;
self.newIndicator().omschrijving1('');
self.newIndicator().omschrijving2('');
self.newIndicator().inspectie('');
self.newIndicator().deleteok(true);
$("#modNieuwIndicator").modal('show');
},
fSaveIndicator: function(){
var self=ls.VersiesModel;
var submitData={ ijkpunt_id : self.newIndicator().ijkpunt_id,
nummer : self.newIndicator().nummer(),
omschrijving1 : self.newIndicator().omschrijving1(),
omschrijving2 : self.newIndicator().omschrijving2(),
inspectie : self.newIndicator().inspectie(),
gewicht : self.newIndicator().gewicht};
$.post("index.php/monpas/beheer/insertindicator", submitData, function(data){
if (data){
self.selectedIJkpunt().indicatoren.push(new fAddIndicator(data));
}
else { apprise("Er is een fout opgetreden bij opslaan."); };
},'json');
},
fUpdateIndicator: function(){
var self = ls.VersiesModel;
var dit =this;
if (timeout){
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(function(){
var submitData ={ id : dit.id,
nummer : dit.nummer(),
omschrijving1 : dit.omschrijving1(),
omschrijving2 : dit.omschrijving2(),
inspectie : dit.inspectie(),
gewicht : dit.gewicht()}
$.post("index.php/monpas/beheer/updateindicator", submitData);
},700);
},
fDeleteIndicator: function($parent, $data){
var self = ls.VersiesModel;
var dit = $data;
apprise ("Weet u zeker dat u <i>" + dit.omschrijving1() + "</i> wilt verwijderen?",
{verify:true, textYes:'ja',textNo:'nee'}, function(ans){
if (ans){
$.post('index.php/monpas/beheer/deleteindicator/' + dit.id,function(result){
$parent.indicatoren.remove(dit);
},'json');
}
}); // apprise
}
} ; // definition van model
ls.VersiesModel.initBindings();
}; // else
}// function initVersiesModel
});