Reservations

This commit is contained in:
2018-04-13 17:05:13 +02:00
parent 49bd541cb8
commit dbe736d941
14 changed files with 368 additions and 26 deletions
@@ -0,0 +1,20 @@
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 13/04/2018
* Time: 13:35
*/
dbo.reservationsDataservice = {
getReservations: function ( callback ) {
$.getJSON( 'index.php/reports/reservationsController/getReservations', function ( data ) {
callback( data );
} );
}
}
+19 -8
View File
@@ -304,11 +304,12 @@ $( function () {
var vm = dbo.editProjectModal;
var reservation = {
id : 0,
project_id : vm.projectID,
reservationamount: 0,
payed : 'UNPAYED',
inEdit : true
id : 0,
project_id : vm.projectID,
reservationamount : 0,
external_id : null,
inEdit : true,
invalidReservation: true
};
vm.reservations.push( new vm.Reservation( reservation ) );
@@ -485,15 +486,23 @@ $( function () {
var vm = dbo.editProjectModal;
if ( !self ) self = this;
if ( !self.external_id ) {
self.invalidReservation(true);
return;
}
var submitDATA = {
id : self.id,
project_id : self.project_id,
payed : self.payed(),
external_id : self.external_id(),
reservationamount: self.reservationamount()
}
dbo.projectDataService.saveReservation( submitDATA, function ( data ) {
if ( data.success ) self.id = data.reservationID;
if ( data.success ) {
self.invalidReservation(false);
self.id = data.reservationID;
}
} );
},
@@ -878,11 +887,13 @@ $( function () {
},
Reservation: function ( data ) {
console.log( data );
this.id = data.id;
this.project_id = data.project_id;
this.reservationamount = ko.observable( data.reservationamount );
this.payed = ko.observable( data.payed );
this.external_id = ko.observable( data.external_id );
this.inEdit = ko.observable( data.inEdit || false );
this.invalidReservation = ko.observable( data.invalidReservation || false );
},
addDocument: function ( data, evt ) {
@@ -0,0 +1,92 @@
/**
* 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( [] ),
reservation: ko.observable(),
payed : ko.observable(),
saldo : 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.reservation( 0 );
vm.payed( 0 );
vm.saldo( 0 );
_.each( data, function ( p ) {
vm.projects.push( new vm.Project( p ) );
} );
vm.reservation( dbo.helpers.numberWithPoints( vm.reservation() ) );
vm.payed( dbo.helpers.numberWithPoints( vm.payed() ) );
vm.saldo( dbo.helpers.numberWithPoints( vm.saldo() ) );
} );
},
toggleExternals: function () {
this.showExternals( !this.showExternals() );
},
Project: function ( data ) {
var vm = dbo.reservationsModel;
var self = this;
self.projectnumber = data.projectnumber;
self.reservation = dbo.helpers.numberWithPoints( data.reservation );
self.payed = dbo.helpers.numberWithPoints( data.payed );
self.saldo = dbo.helpers.numberWithPoints( data.saldo );
self.showExternals = ko.observable( false );
vm.reservation( Number( vm.reservation() ) + Number( data.reservation ) );
vm.payed( Number( vm.payed() ) + Number( data.payed ) );
vm.saldo( Number( vm.saldo() ) + Number( data.saldo ) );
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.reservation = dbo.helpers.numberWithPoints( data.reservation );
self.payed = dbo.helpers.numberWithPoints( data.payed );
self.saldo = dbo.helpers.numberWithPoints( data.saldo );
}
}
}
dbo.reservationsModel.init();
ko.applyBindings(
dbo.reservationsModel, document.getElementById( "RESERVATIONS" ) );
}