Skip to content

Commit

Permalink
Adapt controller replace() actions to prepend() actions
Browse files Browse the repository at this point in the history
  • Loading branch information
imkingdavid committed Oct 23, 2019
1 parent 031f0fc commit ccb4853
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 74 deletions.
46 changes: 7 additions & 39 deletions cartridges/int_subscribe_pro_sfra/cartridge/controllers/Address.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,10 +151,8 @@ server.replace('SaveAddress', csrfProtection.validateAjaxRequest, function (req,
return next();
});

server.replace('DeleteAddress', userLoggedIn.validateLoggedInAjax, function (req, res, next) {
server.prepend('DeleteAddress', userLoggedIn.validateLoggedInAjax, function (req, res, next) {
var CustomerMgr = require('dw/customer/CustomerMgr');
var Transaction = require('dw/system/Transaction');
var accountHelpers = require('*/cartridge/scripts/helpers/accountHelpers');

var data = res.getViewData();
if (data && !data.loggedin) {
Expand All @@ -163,49 +161,19 @@ server.replace('DeleteAddress', userLoggedIn.validateLoggedInAjax, function (req
}

var addressId = req.querystring.addressId;
var isDefault = req.querystring.isDefault;
var customer = CustomerMgr.getCustomerByCustomerNumber(
req.currentCustomer.profile.customerNo
);
var addressBook = customer.getProfile().getAddressBook();
var address = addressBook.getAddress(addressId);
var UUID = address.getUUID();
this.on('route:BeforeComplete', function () { // eslint-disable-line no-shadow
var length;
Transaction.wrap(function () {
if (subproEnabled) {
session.privacy.deletedAddress = {
sp: addressHelper.getSubproAddress(address, session.customer.profile, true, true),
sfcc: address
};
}

addressBook.removeAddress(address);
length = addressBook.getAddresses().length;
if (isDefault && length > 0) {
var newDefaultAddress = addressBook.getAddresses()[0];
addressBook.setPreferredAddress(newDefaultAddress);
}
});

// Send account edited email
accountHelpers.sendAccountEditedEmail(customer.profile);
if (subproEnabled) {
session.privacy.deletedAddress = {
sp: addressHelper.getSubproAddress(address, session.customer.profile, true, true),
sfcc: address
};
}

if (length === 0) {
res.json({
UUID: UUID,
defaultMsg: Resource.msg('label.addressbook.defaultaddress', 'account', null),
message: Resource.msg('msg.no.saved.addresses', 'address', null)
});
} else {
res.json({
UUID: UUID,
defaultMsg: Resource.msg('label.addressbook.defaultaddress', 'account', null)
});
}
});
return next();
});


module.exports = server.exports();
Original file line number Diff line number Diff line change
Expand Up @@ -205,9 +205,8 @@ server.replace('SavePayment', csrfProtection.validateAjaxRequest, function (req,
return next();
});

server.replace('DeletePayment', userLoggedIn.validateLoggedInAjax, function (req, res, next) {
server.prepend('DeletePayment', userLoggedIn.validateLoggedInAjax, function (req, res, next) {
var array = require('*/cartridge/scripts/util/array');
var accountHelpers = require('*/cartridge/scripts/helpers/accountHelpers');

var data = res.getViewData();
if (data && !data.loggedin) {
Expand All @@ -217,41 +216,13 @@ server.replace('DeletePayment', userLoggedIn.validateLoggedInAjax, function (req

var UUID = req.querystring.UUID;
var paymentInstruments = req.currentCustomer.wallet.paymentInstruments;
var paymentToDelete = array.find(paymentInstruments, function (item) {
var payment = array.find(paymentInstruments, function (item) {
return UUID === item.UUID;
});
res.setViewData(paymentToDelete);
this.on('route:BeforeComplete', function () { // eslint-disable-line no-shadow
var CustomerMgr = require('dw/customer/CustomerMgr');
var Transaction = require('dw/system/Transaction');
var Resource = require('dw/web/Resource');

var payment = res.getViewData();
var customer = CustomerMgr.getCustomerByCustomerNumber(
req.currentCustomer.profile.customerNo
);
var wallet = customer.getProfile().getWallet();

Transaction.wrap(function () {
session.privacy.deletedCard = {
sp: paymentsHelper.getSubscriptionPaymentProfile(session.customer.profile, payment.raw, {}, true),
sfcc: payment
};
wallet.removePaymentInstrument(payment.raw);
});

// Send account edited email
accountHelpers.sendAccountEditedEmail(customer.profile);

if (wallet.getPaymentInstruments().length === 0) {
res.json({
UUID: UUID,
message: Resource.msg('msg.no.saved.payments', 'payment', null)
});
} else {
res.json({ UUID: UUID });
}
});
session.privacy.deletedCard = {
sp: paymentsHelper.getSubscriptionPaymentProfile(session.customer.profile, payment.raw, {}, true),
sfcc: payment
};

return next();
});
Expand Down

0 comments on commit ccb4853

Please sign in to comment.