This commit is contained in:
2018-01-05 16:59:17 +01:00
parent 53ef539985
commit d1de2210e6
20 changed files with 1230 additions and 6 deletions
+111
View File
@@ -0,0 +1,111 @@
/**
* Created by Pensare Software.
* Offerte: Theo Weijmer
* Date: 25/12/2017
* Time: 17:32
*/
$( function () {
dbo.editOfferteModal = {
id : null,
offertes : ko.observableArray( [] ),
projects : ko.observableArray( [] ),
offerte_id : ko.observable(),
project_id : ko.observable(),
startdate : ko.observable(),
acceptance_chance: ko.observable(),
accepteddate : ko.observable(),
rejectdate : ko.observable(),
init: function () {
var vm = dbo.editOfferteModal;
dbo.customerDataService.getAllCustomers( 'F', function ( data ) {
vm.customers( data );
} );
},
newEditOfferte: function ( offerte, callback ) {
var vm = dbo.editOfferteModal;
vm.callback = typeof(callback) == 'function' ? callback : null;
vm.showOfferteModal();
vm.setOfferte( offerte );
},
saveOfferte: function () {
var vm = dbo.editOfferteModal;
if ( vm.formValid == false ) return;
var submitDATA = {
id : vm.id,
offertes : vm.offertes(),
projects : vm.projects(),
offerte_id : vm.offerte_id(),
project_id : vm.project_id(),
startdate : vm.startdate(),
acceptance_chance: vm.acceptance_chance(),
accepteddate : vm.accepteddate(),
rejectdate : vm.rejectdate()
}
dbo.offerteDataService.saveOfferte( submitDATA, function ( data ) {
if ( data.success ) {
tellMe( {
title : 'offerte aangemaakt',
message : 'de offerte is succesvol opgeslagen',
modalClass: 'modal-success'
}, function () {
vm.hideOfferteModal();
if ( typeof(vm.callback) == 'function' ) vm.callback();
} );
return;
}
var errorMessage = '<ul>';
$.each( data.messages, function ( i, p ) {
if ( p[0] ) {
errorMessage += '<li>' + i + ': ' + p[0] + '</li>';
}
} );
errorMessage += '</ul>';
tellMe( {
title : 'fout aanmaken offerte',
message : errorMessage,
modalClass: 'modal-danger'
} );
} );
},
setOfferte: function ( offerte ) {
var vm = dbo.editOfferteModal;
vm.id = offerte.id;
vm.name( offerte.name || '' );
vm.address( offerte.address || '' );
vm.postcode( offerte.postcode || '' );
vm.place( offerte.place || '' );
vm.contactperson( offerte.contactperson || '' );
vm.email( offerte.email || '' );
vm.website( offerte.website || '' );
vm.remarks( offerte.remarks || '' );
},
showOfferteModal: function () {
$( "#offerte-modal" ).modal( 'show' );
},
hideOfferteModal: function () {
$( "#offerte-modal" ).modal( 'hide' );
}
};
dbo.editOfferteModal.init();
ko.applyBindings( dbo.editOfferteModal, document.getElementById( 'offer-modal' ) );
} );
@@ -0,0 +1,111 @@
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 05/01/2018
* Time: 15:54
*/
dbo.offersInit = function () {
if ( dbo.offersModel !== undefined ) {
} else {
dbo.offersModel = {
offers : ko.observableArray( [] ),
offer : ko.observable(),
archive: ko.observable( false ),
init: function () {
var vm = dbo.offersModel;
// vm.refreshOffers();
},
newOffer: function () {
var vm = dbo.offersModel;
dbo.editOfferModal.newEditOffer( false, function () {
vm.refreshOffers();
} );
},
toggleArchive: function () {
var vm = dbo.offersModel;
vm.archive( !vm.archive() );
vm.refreshOffers();
},
editOffer: function () {
var offer = this;
var vm = dbo.offersModel;
dbo.editOfferModal.newEditOffer( offer, function () {
vm.refreshOffers();
} );
},
archiveOffer: function () {
var vm = dbo.offersModel;
var self = this;
var status = self.archive == 'F' ? 'T' : 'F';
dbo.offerDataService.archiveOffer( self.id, status, function () {
vm.refreshOffers();
} );
},
removeOffer: function () {
var vm = dbo.offersModel;
var self = this;
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 ) {
console.log( response );
if ( response ) {
dbo.offerDataService.removeOffer( self.id, function ( data ) {
if ( data.result ) {
tellMe( {
title : 'offerte verwijderd',
message : 'de offerte is succesvol verwijderd',
modalClass: 'modal-success'
}, function () {
vm.refreshOffers();
} );
} else {
tellMe( {
title : 'fout bij verwijderen offerte',
message : 'de offerte kan niet worden verwijderd',
modalClass: 'modal-danger'
} );
}
} );
}
} );
},
refreshOffers: function () {
var vm = dbo.offersModel;
dbo.offerDataService.getAllOffers( vm.archive() ? 'T' : 'F', function ( data ) {
vm.offers( data );
} );
}
};
dbo.offersModel.init();
ko.applyBindings( dbo.offersModel, document.getElementById( 'OFFERS' ) );
}
}