-
Notifications
You must be signed in to change notification settings - Fork 32
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0d23eba
commit 81c6cd8
Showing
1 changed file
with
165 additions
and
0 deletions.
There are no files selected for viewing
165 changes: 165 additions & 0 deletions
165
view/frontend/web/js/view/payment/method-renderer/default.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
/*browser:true*/ | ||
/*global define*/ | ||
define( | ||
[ | ||
'jquery', | ||
'Magento_Checkout/js/view/payment/default', | ||
'mage/url', | ||
'Magento_Checkout/js/action/place-order', | ||
'Magento_Checkout/js/model/quote', | ||
'Magento_Ui/js/modal/alert' | ||
], | ||
function ($, Component, url, placeOrderAction, quote, alert) { | ||
'use strict'; | ||
return Component.extend({ | ||
redirectAfterPlaceOrder: false, | ||
defaults: { | ||
template: 'Paynl_Payment/payment/default' | ||
}, | ||
selectedBank: null, | ||
kvknummer: null, | ||
dateofbirth: null, | ||
billink_agree: null, | ||
isVisible:function(){ | ||
var disallowedShippingMethods = this.getDisallowedShipping(); | ||
if (disallowedShippingMethods) { | ||
var carrier_code = typeof quote.shippingMethod().carrier_code !== 'undefined' ? quote.shippingMethod().carrier_code + '_' : ''; | ||
var method_code = typeof quote.shippingMethod().method_code !== 'undefined' ? quote.shippingMethod().method_code : ''; | ||
var currentShippingMethod = carrier_code + method_code; | ||
var disallowedShippingMethodsSplitted = disallowedShippingMethods.split(','); | ||
if (disallowedShippingMethodsSplitted.includes(currentShippingMethod) && currentShippingMethod.length > 0) { | ||
return false; | ||
} | ||
} | ||
if(this.getforCompany() == 1 && this.getCompany().length != 0){ | ||
return false; | ||
} | ||
if(this.getforCompany() == 2 && this.getCompany().length == 0){ | ||
return false; | ||
} | ||
return true; | ||
}, | ||
getDisallowedShipping: function () { | ||
return window.checkoutConfig.payment.disallowedshipping[this.item.method]; | ||
}, | ||
getCompany: function () { | ||
if (typeof quote.billingAddress._latestValue.company !== 'undefined' && quote.billingAddress._latestValue.company !== null) { | ||
return quote.billingAddress._latestValue.company; | ||
} | ||
return ''; | ||
}, | ||
getforCompany : function () { | ||
return window.checkoutConfig.payment.showforcompany[this.item.method]; | ||
}, | ||
getInstructions: function () { | ||
return window.checkoutConfig.payment.instructions[this.item.method]; | ||
}, | ||
getPaymentIcon: function () { | ||
return window.checkoutConfig.payment.icon[this.item.method]; | ||
}, | ||
showKVK: function () { | ||
return this.getKVK() > 0; | ||
}, | ||
getKVK: function () { | ||
return window.checkoutConfig.payment.showkvk[this.item.method]; | ||
}, | ||
showDOB: function () { | ||
return this.getDOB() > 0; | ||
}, | ||
getDOB: function () { | ||
return window.checkoutConfig.payment.showdob[this.item.method]; | ||
}, | ||
showKVKDOB: function () { | ||
return this.getKVKDOB() > 0; | ||
}, | ||
getKVKDOB: function () { | ||
return (this.getDOB() > 0 && this.getKVK() > 0); | ||
}, | ||
showBanks: function(){ | ||
return window.checkoutConfig.payment.banks[this.item.method].length > 0; | ||
}, | ||
getBanks: function(){ | ||
return window.checkoutConfig.payment.banks[this.item.method]; | ||
}, | ||
afterPlaceOrder: function () { | ||
window.location.replace(url.build('/paynl/checkout/redirect?nocache='+ (new Date().getTime()))); | ||
}, | ||
getData: function () { | ||
var dob = new Date(this.dateofbirth); | ||
var dd = dob.getDate(); | ||
var mm = dob.getMonth() + 1; | ||
var yyyy = dob.getFullYear(); | ||
if (dd < 10) { | ||
dd = '0' + dd; | ||
} | ||
if (mm < 10) { | ||
mm = '0' + mm; | ||
} | ||
var dob_format = dd + '-' + mm + '-' + yyyy; | ||
return { | ||
'method': this.item.method, | ||
'po_number': null, | ||
'additional_data': { | ||
"kvknummer": this.kvknummer, | ||
"dob": dob_format, | ||
"billink_agree": this.billink_agree, | ||
"bank_id": this.selectedBank | ||
} | ||
}; | ||
}, | ||
placeOrder: function (data, event) { | ||
var placeOrder; | ||
var showingKVK = this.getKVK() == 2; | ||
var showingDOB = this.getDOB() == 2; | ||
if (showingKVK) { | ||
if (this.billink_agree != true) { | ||
alert({ | ||
title: $.mage.__('Betalingsvoorwaarden'), | ||
content: $.mage.__('U dient eerst akkoord te gaan met de betalingsvoorwaarden.'), | ||
actions: { | ||
always: function(){} | ||
} | ||
}); | ||
return false; | ||
} | ||
if (this.kvknummer == null || this.kvknummer.length < 8) { | ||
alert({ | ||
title: $.mage.__('Ongeldig KVK nummer'), | ||
content: $.mage.__('Voer een geldig KVK nummer in.'), | ||
actions: { | ||
always: function(){} | ||
} | ||
}); | ||
return false; | ||
} | ||
} | ||
if (showingDOB) { | ||
if (this.dateofbirth == null || this.dateofbirth.length < 1) { | ||
alert({ | ||
title: $.mage.__('Ongeldig geboortedatum'), | ||
content: $.mage.__('Voer een geldig geboortedatum in.'), | ||
actions: { | ||
always: function(){} | ||
} | ||
}); | ||
return false; | ||
} | ||
} | ||
if (event) { | ||
event.preventDefault(); | ||
} | ||
$('#payment-button').html('Processing').attr('disabled','disabled'); | ||
this.isPlaceOrderActionAllowed(false); | ||
placeOrder = placeOrderAction(this.getData(), this.redirectAfterPlaceOrder); | ||
$.when(placeOrder).fail(function () { | ||
this.isPlaceOrderActionAllowed(true); | ||
}.bind(this)).done(this.afterPlaceOrder.bind(this)); | ||
return true; | ||
}, | ||
}); | ||
} | ||
); | ||
|
||
|
||
|
||
|