Files
dbois/public/js/lib/modules/reports/reservations.js
T
2018-05-06 20:39:59 +02:00

112 lines
4.3 KiB
JavaScript

/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 13/04/2018
* Time: 13:31
*/
dbo.reservationsInit = function () {
if ( dbo.reservationsModel !== undefined ) {
} else {
dbo.reservationsModel = {
projects : ko.observableArray( [] ),
costs : ko.observable(),
reservation : ko.observable(),
payed : 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.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.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;
self.costs = dbo.helpers.numberWithPoints( data.costs );
self.reservation = dbo.helpers.numberWithPoints( data.reservation );
self.payed = dbo.helpers.numberWithPoints( data.payed );
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.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.saldo = dbo.helpers.numberWithPoints( data.saldo );
self.saldoToPay = dbo.helpers.numberWithPoints( data.saldoToPay );
}
}
dbo.reservationsModel.init();
ko.applyBindings( dbo.reservationsModel, document.getElementById( "RESERVATIONS" ) );
}
}