Skip to content

Commit

Permalink
Merge pull request #104 from paynl/feature/PLUG-248
Browse files Browse the repository at this point in the history
Remove duplicate code from JS
  • Loading branch information
woutse authored Jan 18, 2021
2 parents 11586d8 + 81c6cd8 commit 7b1fc36
Show file tree
Hide file tree
Showing 7 changed files with 138 additions and 334 deletions.
14 changes: 6 additions & 8 deletions view/frontend/web/js/view/payment/method-renderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,13 @@ define(
rendererList) {
'use strict';

var defaultComponent = 'Paynl_Payment/js/view/payment/method-renderer/default';
var idealComponent = 'Paynl_Payment/js/view/payment/method-renderer/ideal';
var billinkComponent = 'Paynl_Payment/js/view/payment/method-renderer/billink';
var defaultComponent = 'Paynl_Payment/js/view/payment/method-renderer/default';

var methods = [
{type: 'paynl_payment_afterpay', component: defaultComponent},
{type: 'paynl_payment_alipay', component: defaultComponent},
{type: 'paynl_payment_amex', component: defaultComponent},
{type: 'paynl_payment_billink', component: billinkComponent},
{type: 'paynl_payment_billink', component: defaultComponent},
{type: 'paynl_payment_capayable', component: defaultComponent},
{type: 'paynl_payment_capayable_gespreid', component: defaultComponent},
{type: 'paynl_payment_cartasi', component: defaultComponent},
Expand All @@ -35,10 +33,10 @@ define(
{type: 'paynl_payment_giropay', component: defaultComponent},
{type: 'paynl_payment_givacard', component: defaultComponent},
{type: 'paynl_payment_huisentuincadeau', component: defaultComponent},
{type: 'paynl_payment_ideal', component: idealComponent},
{type: 'paynl_payment_instore', component: idealComponent},
{type: 'paynl_payment_klarna', component: idealComponent},
{type: 'paynl_payment_klarnakp', component: idealComponent},
{type: 'paynl_payment_ideal', component: defaultComponent},
{type: 'paynl_payment_instore', component: defaultComponent},
{type: 'paynl_payment_klarna', component: defaultComponent},
{type: 'paynl_payment_klarnakp', component: defaultComponent},
{type: 'paynl_payment_maestro', component: defaultComponent},
{type: 'paynl_payment_mistercash', component: defaultComponent},
{type: 'paynl_payment_multibanco', component: defaultComponent},
Expand Down
145 changes: 0 additions & 145 deletions view/frontend/web/js/view/payment/method-renderer/billink.js

This file was deleted.

124 changes: 113 additions & 11 deletions view/frontend/web/js/view/payment/method-renderer/default.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,20 @@ define(
'Magento_Checkout/js/view/payment/default',
'mage/url',
'Magento_Checkout/js/action/place-order',
'Magento_Checkout/js/model/quote'
'Magento_Checkout/js/model/quote',
'Magento_Ui/js/modal/alert'
],
function ($, Component, url, placeOrderAction, quote) {
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) {
Expand All @@ -37,27 +41,125 @@ define(
},
getDisallowedShipping: function () {
return window.checkoutConfig.payment.disallowedshipping[this.item.method];
},
getCompany: function () {
if (typeof quote.billingAddress._latestValue.company !== 'undefined') {
},
getCompany: function () {
if (typeof quote.billingAddress._latestValue.company !== 'undefined' && quote.billingAddress._latestValue.company !== null) {
return quote.billingAddress._latestValue.company;
}
return '';
},
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;
},
});
}
);




Loading

0 comments on commit 7b1fc36

Please sign in to comment.