From 8115d741a5840398507696f7fd5e28417a4490f2 Mon Sep 17 00:00:00 2001 From: "o.khalevskyi" Date: Wed, 13 Mar 2024 17:26:39 +0300 Subject: [PATCH] sub-77: fix: order attributes not set when subscription order is created --- .../cartridge/controllers/SubPro.js | 1 + .../cartridge/scripts/subpro/hooks.json | 4 ++++ .../cartridge/scripts/subpro/hooks/basket.js | 20 ++++++++++++++++++ metadata/site_import.zip | Bin 4244 -> 5351 bytes .../meta/system-objecttype-extensions.xml | 8 +++++++ 5 files changed, 33 insertions(+) create mode 100644 cartridges/int_subscribe_pro_sfra/cartridge/scripts/subpro/hooks/basket.js diff --git a/cartridges/int_subscribe_pro_sfra/cartridge/controllers/SubPro.js b/cartridges/int_subscribe_pro_sfra/cartridge/controllers/SubPro.js index 6f84de2..65634db 100644 --- a/cartridges/int_subscribe_pro_sfra/cartridge/controllers/SubPro.js +++ b/cartridges/int_subscribe_pro_sfra/cartridge/controllers/SubPro.js @@ -221,6 +221,7 @@ server.post('UpdateOptions', function (req, res, next) { } basket.custom.subproSubscriptionsToBeProcessed = isSubpro; + basket.custom.subproContainsSubscriptions = isSubpro; res.json(new CartModel(basket)); }); diff --git a/cartridges/int_subscribe_pro_sfra/cartridge/scripts/subpro/hooks.json b/cartridges/int_subscribe_pro_sfra/cartridge/scripts/subpro/hooks.json index de9c0a5..f5ef1a7 100644 --- a/cartridges/int_subscribe_pro_sfra/cartridge/scripts/subpro/hooks.json +++ b/cartridges/int_subscribe_pro_sfra/cartridge/scripts/subpro/hooks.json @@ -23,6 +23,10 @@ { "name": "dw.ocapi.shop.order.validateOrder", "script": "./hooks/order.js" + }, + { + "name": "dw.ocapi.shop.basket.afterPost", + "script": "./hooks/basket.js" } ] } diff --git a/cartridges/int_subscribe_pro_sfra/cartridge/scripts/subpro/hooks/basket.js b/cartridges/int_subscribe_pro_sfra/cartridge/scripts/subpro/hooks/basket.js new file mode 100644 index 0000000..d63c746 --- /dev/null +++ b/cartridges/int_subscribe_pro_sfra/cartridge/scripts/subpro/hooks/basket.js @@ -0,0 +1,20 @@ +'use strict'; + +var Status = require('dw/system/Status'); + +/** + * afterPost + * @param {dw.order.Basket} basket - basket + * @returns {Status} a non-null Status ends the hook execution + */ +function afterPost(basket) { + if (basket.custom.subproIsRecurringOrder) { + basket.custom.subproContainsSubscriptions = true; + } + + return new Status(Status.OK); +} + +module.exports = { + afterPost: afterPost +}; diff --git a/metadata/site_import.zip b/metadata/site_import.zip index d297647f790dc96ecc6c93ed464ef9754f14b0a8..43c33b3b529766195bc298389b026a274c900b61 100644 GIT binary patch literal 5351 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 false + + Subpro Is Recurring Order + boolean + false + false + false + Subscribe Pro +