135 lines
4.4 KiB
JavaScript
135 lines
4.4 KiB
JavaScript
/**
|
|
* Created by Pensare Software.
|
|
* User: Theo Weijmer
|
|
* Date: 17/01/2018
|
|
* Time: 09:31
|
|
*/
|
|
|
|
|
|
dbo.offersService = {
|
|
|
|
vm: null,
|
|
|
|
newOffer: function (projectID=false, customerID=false) {
|
|
var service = dbo.offersService;
|
|
|
|
dbo.editOfferModal.newEditOffer( false, projectID, customerID, true, function () {
|
|
service.refreshOffers();
|
|
} );
|
|
},
|
|
|
|
toggleArchive: function () {
|
|
var service = dbo.offersService;
|
|
var vm = dbo.offersService.vm;
|
|
|
|
vm.archive( !vm.archive() );
|
|
|
|
service.refreshOffers();
|
|
},
|
|
|
|
editOffer: function ( that, projectID=false, custormerID=false, hasProject=false ) {
|
|
var offer = that;
|
|
|
|
dbo.editOfferModal.newEditOffer( offer, projectID, custormerID, hasProject, function () {
|
|
dbo.offersService.refreshOffers();
|
|
} );
|
|
},
|
|
|
|
archiveOffer: function ( that ) {
|
|
var service = dbo.offersService;
|
|
|
|
var status = that.archive == 'F' ? 'T' : 'F';
|
|
|
|
dbo.offerDataService.archiveOffer( that.id, status, function () {
|
|
service.refreshOffers();
|
|
} );
|
|
},
|
|
|
|
removeOffer: function ( that ) {
|
|
var service = dbo.offersService;
|
|
|
|
tellMe( {
|
|
title : 'verwijderen offerte',
|
|
message : 'weet u zeker dat u de offerte wilt verwijderen, dit kan niet ongedaan worden gemaakt',
|
|
notify : true,
|
|
noText : 'nee verwijder de offerte niet',
|
|
yesText : 'ja verwijder de offerte',
|
|
modalClass: 'modal-warning'
|
|
}, function ( response ) {
|
|
if ( response ) {
|
|
dbo.offerDataService.removeOffer( that.id, function ( data ) {
|
|
if ( data.result ) {
|
|
tellMe( {
|
|
title : 'offerte verwijderd',
|
|
message : 'de offerte is succesvol verwijderd',
|
|
modalClass: 'modal-success'
|
|
}, function () {
|
|
service.refreshOffers();
|
|
} );
|
|
} else {
|
|
tellMe( {
|
|
title : 'fout bij verwijderen offerte',
|
|
message : 'de offerte kan niet worden verwijderd, verwijder eerst het gerelateerde project',
|
|
modalClass: 'modal-danger'
|
|
} );
|
|
}
|
|
} );
|
|
}
|
|
} );
|
|
},
|
|
|
|
directionOrderOffers: function ( field ) {
|
|
var vm = dbo.offersModel;
|
|
var self = dbo.offersService;
|
|
|
|
if ( field == vm.order() ) {
|
|
vm.direction( !vm.direction() );
|
|
} else {
|
|
vm.direction( true );
|
|
}
|
|
|
|
vm.order( field );
|
|
|
|
self.refreshOffers();
|
|
},
|
|
|
|
refreshOffers: function () {
|
|
var vm = dbo.offersService.vm;
|
|
var self = dbo.offersService;
|
|
|
|
var offersObject = {
|
|
projectID: vm.projectID,
|
|
archive : vm.archive() ? 'T' : 'F',
|
|
search : vm.search(),
|
|
order : vm.order(),
|
|
direction: vm.direction() ? 'ASC' : 'DESC'
|
|
}
|
|
|
|
dbo.offerDataService.getAllOffers( offersObject, function ( data ) {
|
|
vm.offers.removeAll();
|
|
$.each( data, function ( i, p ) {
|
|
vm.offers.push( new self.Offer( p ) );
|
|
} );
|
|
} );
|
|
},
|
|
|
|
Offer: function ( data ) {
|
|
this.id = data.id;
|
|
this.offernumber = data.offernumber;
|
|
this.offername = data.offername;
|
|
this.offerleader_id = data.offerleader_id;
|
|
this.project_id = data.project_id;
|
|
this.acceptance_chance = data.acceptance_chance;
|
|
this.projectNumber = data.project ? data.project.projectnumber : null;
|
|
this.customerName = data.customer ? data.customer.name : null;
|
|
this.customer_id = data.customer_id;
|
|
this.startdate = data.startdate ? dbo.helpers.mysql2date( data.startdate ) : null;
|
|
this.rejectdate = data.rejectdate ? dbo.helpers.mysql2date( data.rejectdate ) : null;
|
|
this.accepteddate = data.accepteddate ? dbo.helpers.mysql2date( data.accepteddate ) : null;
|
|
this.acceptance_chance = data.acceptance_chance ? data.acceptance_chance : 0;
|
|
this.own_revenue = data.own_revenue;
|
|
this.other_revenue = data.other_revenue;
|
|
this.costs = data.costs;
|
|
this.archive = data.archive;
|
|
}
|
|
}; |