120 lines
4.9 KiB
JavaScript
120 lines
4.9 KiB
JavaScript
/**
|
|
* Created by Pensare Software.
|
|
* User: Theo Weijmer
|
|
* Date: 13/04/2018
|
|
* Time: 13:31
|
|
*/
|
|
|
|
dbo.reservationsInit = function () {
|
|
|
|
if ( dbo.reservationsModel !== undefined ) {
|
|
|
|
dbo.reservationsModel.refreshReservations();
|
|
|
|
} else {
|
|
dbo.reservationsModel = {
|
|
|
|
projects : ko.observableArray( [] ),
|
|
costs : ko.observable(),
|
|
reservation : ko.observable(),
|
|
payed : ko.observable(),
|
|
fromreservation: ko.observable(),
|
|
saldo : ko.observable(),
|
|
saldoToPay : ko.observable(),
|
|
otherRevenue : ko.observable(),
|
|
saldoInvoices : ko.observable(),
|
|
|
|
init: function () {
|
|
var vm = dbo.reservationsModel;
|
|
|
|
vm.refreshReservations();
|
|
},
|
|
|
|
refreshReservations: function () {
|
|
var vm = dbo.reservationsModel;
|
|
|
|
dbo.reservationsDataservice.getReservations( function ( data ) {
|
|
vm.projects.removeAll();
|
|
|
|
vm.costs( 0 );
|
|
vm.reservation( 0 );
|
|
vm.payed( 0 );
|
|
vm.fromreservation( 0 );
|
|
vm.saldo( 0 );
|
|
vm.saldoToPay( 0 );
|
|
vm.otherRevenue( 0 );
|
|
vm.saldoInvoices( 0 );
|
|
|
|
_.each( data, function ( p ) {
|
|
vm.projects.push( new vm.Project( p ) );
|
|
} );
|
|
|
|
vm.costs( dbo.helpers.numberWithPoints( vm.costs() ) );
|
|
vm.reservation( dbo.helpers.numberWithPoints( vm.reservation() ) );
|
|
vm.payed( dbo.helpers.numberWithPoints( vm.payed() ) );
|
|
vm.fromreservation( dbo.helpers.numberWithPoints( vm.fromreservation() ) );
|
|
vm.saldo( dbo.helpers.numberWithPoints( vm.saldo() ) );
|
|
vm.saldoToPay( dbo.helpers.numberWithPoints( vm.saldoToPay() ) );
|
|
vm.otherRevenue( dbo.helpers.numberWithPoints( vm.otherRevenue() ) );
|
|
vm.saldoInvoices( dbo.helpers.numberWithPoints( vm.saldoInvoices() ) );
|
|
} );
|
|
},
|
|
|
|
toggleExternals: function () {
|
|
this.showExternals( !this.showExternals() );
|
|
},
|
|
|
|
Project: function ( data ) {
|
|
var vm = dbo.reservationsModel;
|
|
var self = this;
|
|
|
|
self.projectnumber = data.projectnumber + ' ' + data.projectname;
|
|
self.costs = dbo.helpers.numberWithPoints( data.costs );
|
|
self.reservation = dbo.helpers.numberWithPoints( data.reservation );
|
|
self.payed = dbo.helpers.numberWithPoints( data.payed );
|
|
self.fromreservation = dbo.helpers.numberWithPoints( data.fromreservation );
|
|
self.saldo = dbo.helpers.numberWithPoints( data.saldo );
|
|
self.saldoToPay = dbo.helpers.numberWithPoints( data.saldoToPay );
|
|
self.otherRevenue = dbo.helpers.numberWithPoints( data.other_revenue );
|
|
self.saldoInvoices = dbo.helpers.numberWithPoints( data.other_revenue - data.costs );
|
|
self.showExternals = ko.observable( false );
|
|
|
|
vm.costs( Number( vm.costs() ) + Number( data.costs ) );
|
|
vm.reservation( Number( vm.reservation() ) + Number( data.reservation ) );
|
|
vm.payed( Number( vm.payed() ) + Number( data.payed ) );
|
|
vm.fromreservation( Number( vm.fromreservation() ) + Number( data.fromreservation ) );
|
|
vm.saldo( Number( vm.saldo() ) + Number( data.saldo ) );
|
|
vm.saldoToPay( Number( vm.saldoToPay() ) + Number( data.saldoToPay ) );
|
|
vm.otherRevenue( Number( vm.otherRevenue() ) + Number( data.other_revenue ) );
|
|
vm.saldoInvoices( Number( vm.saldoInvoices() ) + Number( data.other_revenue - data.costs ) )
|
|
|
|
self.externals = ko.observableArray( [] );
|
|
_.each( data.externals, function ( p ) {
|
|
self.externals.push( new vm.External( p ) );
|
|
} )
|
|
},
|
|
|
|
External: function ( data ) {
|
|
var self = this;
|
|
|
|
self.externalName = data.external;
|
|
self.costs = dbo.helpers.numberWithPoints( data.costs );
|
|
self.reservation = dbo.helpers.numberWithPoints( data.reservation );
|
|
self.payed = dbo.helpers.numberWithPoints( data.payed );
|
|
self.fromreservation = dbo.helpers.numberWithPoints( data.fromreservation );
|
|
self.saldo = dbo.helpers.numberWithPoints( data.saldo );
|
|
self.saldoToPay = dbo.helpers.numberWithPoints( data.saldoToPay );
|
|
}
|
|
|
|
}
|
|
|
|
dbo.reservationsModel.init();
|
|
|
|
ko.applyBindings( dbo.reservationsModel, document.getElementById( "RESERVATIONS" ) );
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|