102 lines
2.8 KiB
JavaScript
102 lines
2.8 KiB
JavaScript
/**
|
|
* Created by Pensare Software.
|
|
* Offer: Theo Weijmer
|
|
* Date: 25/12/2017
|
|
* Time: 17:32
|
|
*/
|
|
|
|
$( function () {
|
|
dbo.editProjectModal = {
|
|
|
|
offers : ko.observableArray( [] ),
|
|
projectEmployees: ko.observableArray( [] ),
|
|
customers : ko.observableArray( [] ),
|
|
showProject : ko.observable( false ),
|
|
projectID : null,
|
|
callback : null,
|
|
customerID : ko.observable( null ),
|
|
archive : ko.observable( false ),
|
|
startdate : ko.observable( null ),
|
|
enddate : ko.observable( null ),
|
|
|
|
init: function () {
|
|
var vm = dbo.editProjectModal;
|
|
|
|
vm.refreshProject();
|
|
|
|
dbo.customerDataService.getAllCustomers( 'F', function ( data ) {
|
|
vm.customers( data );
|
|
} );
|
|
},
|
|
|
|
addProject: function ( callback ) {
|
|
var vm = dbo.editProjectModal;
|
|
|
|
vm.callback = callback;
|
|
|
|
dbo.projectDataService.addProject( function ( data ) {
|
|
vm.projectID = data;
|
|
|
|
vm.showProject( true );
|
|
|
|
vm.init();
|
|
} );
|
|
},
|
|
|
|
addProjectEmployee: function () {
|
|
var vm = dbo.editProjectModal;
|
|
dbo.projectDataService.addProjectemployee( function ( projectID ) {
|
|
vm.projectID = projectID;
|
|
|
|
vm.refreshProject();
|
|
} );
|
|
},
|
|
|
|
saveCustomerID: function () {
|
|
|
|
},
|
|
|
|
closeProject: function () {
|
|
var vm = dbo.editProjectModal;
|
|
|
|
vm.showProject( false );
|
|
},
|
|
|
|
refreshProject: function () {
|
|
var vm = dbo.editProjectModal;
|
|
|
|
dbo.projectDataService.getProject( vm.projectID, function ( data ) {
|
|
vm.Project( data );
|
|
} );
|
|
},
|
|
|
|
Project: function ( data ) {
|
|
var vm = dbo.editProjectModal;
|
|
var self = this;
|
|
|
|
vm.id = data.id;
|
|
vm.customerID( data.customer_id );
|
|
vm.startdate( data.startdate );
|
|
vm.enddate( data.enddate );
|
|
|
|
self.projectEmployees = ko.observableArray( [] );
|
|
$.each( data.employees, function ( i, p ) {
|
|
self.projectEmployees.push( new vm.Projectemployee( p ) );
|
|
} );
|
|
},
|
|
|
|
Projectemployee: function ( data ) {
|
|
var self = this;
|
|
|
|
self.id = data.id;
|
|
self.employee_id = data.employee_id;
|
|
self.fullname = data.user ? data.user.fullname : '#NB';
|
|
self.tarif = data.tarif;
|
|
self.budget = data.budget;
|
|
self.startdate = dbo.helpers.mysql2date( data.startdate );
|
|
self.enddate = dbo.helpers.mysql2date( data.enddate );
|
|
}
|
|
};
|
|
|
|
ko.applyBindings( dbo.editProjectModal, document.getElementById( 'project-modal' ) );
|
|
} ); |