From f8482b716d4284e2097f9b2b5a74cb79c99d9d96 Mon Sep 17 00:00:00 2001 From: "David Monnom (moda)" Date: Tue, 7 Feb 2023 15:45:05 +0000 Subject: [PATCH] [IMP] pos_loyalty: display program name on reward selector Before this PR, the name of the program from which an award comes was not displayed in the selection popup. closes odoo/odoo#112122 Taskid: 3069449 Signed-off-by: Trinh Jacky (trj) --- addons/point_of_sale/static/src/scss/pos.scss | 9 +++++++-- .../static/src/xml/Popups/SelectionPopup.xml | 3 ++- .../static/src/js/ControlButtons/RewardButton.js | 9 ++------- .../static/src/tours/PosLoyaltyLoyaltyProgramTour.js | 2 +- .../static/src/tours/PosLoyaltyRewardButtonTour.js | 8 +++++--- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/addons/point_of_sale/static/src/scss/pos.scss b/addons/point_of_sale/static/src/scss/pos.scss index c00a2a770e6..f8b7e60e666 100644 --- a/addons/point_of_sale/static/src/scss/pos.scss +++ b/addons/point_of_sale/static/src/scss/pos.scss @@ -2686,7 +2686,6 @@ td { max-height: 273px; font-size: 16px; width: auto; - line-height: 50px; margin-top: -1px; border-top: solid 3px rgba(60,60,60,0.1); @@ -2696,7 +2695,13 @@ td { background: rgb(230,230,230); cursor: pointer; text-align: left; - padding: 0px 16px; + padding: 18px 16px; + display:flex; + flex-direction: column; +} +.pos .popup.popup-selection .selection-item span:nth-child(2) { + margin-top: 5px; + font-size: 80%; } .pos .popup.popup-selection .selection-item:nth-child(odd) { background: rgb(247,247,247); diff --git a/addons/point_of_sale/static/src/xml/Popups/SelectionPopup.xml b/addons/point_of_sale/static/src/xml/Popups/SelectionPopup.xml index 492f1cce796..d01eb47c00f 100644 --- a/addons/point_of_sale/static/src/xml/Popups/SelectionPopup.xml +++ b/addons/point_of_sale/static/src/xml/Popups/SelectionPopup.xml @@ -10,7 +10,8 @@
- + +
diff --git a/addons/pos_loyalty/static/src/js/ControlButtons/RewardButton.js b/addons/pos_loyalty/static/src/js/ControlButtons/RewardButton.js index 006d1ff6721..a9a8c15f34f 100644 --- a/addons/pos_loyalty/static/src/js/ControlButtons/RewardButton.js +++ b/addons/pos_loyalty/static/src/js/ControlButtons/RewardButton.js @@ -100,16 +100,11 @@ export class RewardButton extends Component { async click() { const rewards = this._getPotentialRewards(); - if (rewards.length === 1) { - return this._applyReward( - rewards[0].reward, - rewards[0].coupon_id, - rewards[0].potentialQty - ); - } else { + if (rewards.length >= 1) { const rewardsList = rewards.map((reward) => ({ id: reward.reward.id, label: reward.reward.description, + description: reward.reward.program_id.name, item: reward, })); const { confirmed, payload: selectedReward } = await this.popup.add(SelectionPopup, { diff --git a/addons/pos_loyalty/static/src/tours/PosLoyaltyLoyaltyProgramTour.js b/addons/pos_loyalty/static/src/tours/PosLoyaltyLoyaltyProgramTour.js index 5e9baa68337..4535a8e35e5 100644 --- a/addons/pos_loyalty/static/src/tours/PosLoyaltyLoyaltyProgramTour.js +++ b/addons/pos_loyalty/static/src/tours/PosLoyaltyLoyaltyProgramTour.js @@ -130,7 +130,7 @@ PosLoyalty.check.isRewardButtonHighlighted(false); ProductScreen.do.clickPartnerButton(); ProductScreen.do.clickCustomer("Test Partner CCC"); PosLoyalty.check.isRewardButtonHighlighted(true); -PosLoyalty.do.clickRewardButton(); +PosLoyalty.do.claimReward("Free Product - Whiteboard Pen"); PosLoyalty.check.hasRewardLine("Free Product - Whiteboard Pen", "-3.20", "1.00"); ProductScreen.do.clickPartnerButton(); // This deselects the customer. diff --git a/addons/pos_loyalty/static/src/tours/PosLoyaltyRewardButtonTour.js b/addons/pos_loyalty/static/src/tours/PosLoyaltyRewardButtonTour.js index 75fcdc4bdea..59d5892bc91 100644 --- a/addons/pos_loyalty/static/src/tours/PosLoyaltyRewardButtonTour.js +++ b/addons/pos_loyalty/static/src/tours/PosLoyaltyRewardButtonTour.js @@ -65,7 +65,7 @@ ProductScreen.check.selectedOrderlineHas("Magnetic Board", "3.00"); ProductScreen.do.pressNumpad("6"); ProductScreen.check.selectedOrderlineHas("Magnetic Board", "6.00"); PosLoyalty.check.isRewardButtonHighlighted(true); -PosLoyalty.do.clickRewardButton(); +PosLoyalty.do.claimReward("Free Product - Whiteboard Pen"); PosLoyalty.check.isRewardButtonHighlighted(false); PosLoyalty.check.hasRewardLine("Free Product - Whiteboard Pen", "-6.40", "2.00"); // Finalize order that consumed a reward. @@ -111,7 +111,7 @@ PosLoyalty.check.hasRewardLine("Free Product", "-1.98", "1.00"); ProductScreen.do.pressNumpad("Backspace"); ProductScreen.do.pressNumpad("Backspace"); PosLoyalty.check.isRewardButtonHighlighted(true); -PosLoyalty.do.clickRewardButton(); +PosLoyalty.do.claimReward("Free Product - [Desk Pad, Monitor Stand]"); SelectionPopup.check.hasSelectionItem("Monitor Stand"); SelectionPopup.check.hasSelectionItem("Desk Pad"); SelectionPopup.do.clickItem("Desk Pad"); @@ -120,7 +120,8 @@ PosLoyalty.check.hasRewardLine("Free Product", "-1.98", "1.00"); ProductScreen.do.pressNumpad("Backspace"); ProductScreen.do.pressNumpad("Backspace"); PosLoyalty.check.isRewardButtonHighlighted(true); -PosLoyalty.do.claimReward("Monitor Stand"); +PosLoyalty.do.claimReward("Free Product - [Desk Pad, Monitor Stand]"); +SelectionPopup.do.clickItem("Monitor Stand"); PosLoyalty.check.isRewardButtonHighlighted(false); ProductScreen.check.selectedOrderlineHas("Monitor Stand", "1.00", "3.19"); PosLoyalty.check.hasRewardLine("Free Product", "-3.19", "1.00"); @@ -138,6 +139,7 @@ ProductScreen.do.clickCustomer('AAA Partner'); ProductScreen.exec.addOrderline('Test Product A', '1'); PosLoyalty.check.isRewardButtonHighlighted(true); PosLoyalty.do.clickRewardButton(); +SelectionPopup.do.clickItem("Free Product - Test Product A"); PosLoyalty.check.hasRewardLine('Free Product - Test Product A', '-11.50', '1.00'); PosLoyalty.check.isRewardButtonHighlighted(false);