From 935a345cda12da8d3f2283b6d34a68877804036e Mon Sep 17 00:00:00 2001 From: AjmalCybro Date: Mon, 24 Jul 2023 17:27:35 +0530 Subject: [PATCH] Jul 24 : [UPDT] Bug Fixed 'pos_discount_manager' --- pos_discount_manager/README.rst | 2 +- pos_discount_manager/__manifest__.py | 2 +- pos_discount_manager/doc/RELEASE_NOTES.md | 8 +- .../static/description/index.html | 2 +- .../static/src/js/ValidateManager.js | 113 +++++------------- 5 files changed, 43 insertions(+), 84 deletions(-) diff --git a/pos_discount_manager/README.rst b/pos_discount_manager/README.rst index f052e7db6..1ec6c6353 100755 --- a/pos_discount_manager/README.rst +++ b/pos_discount_manager/README.rst @@ -3,7 +3,7 @@ :alt: License: AGPL-3 POS Discount Manager Approval -============================= +===================== This module helps to provide Discount limit for each employee in every pos Configuration diff --git a/pos_discount_manager/__manifest__.py b/pos_discount_manager/__manifest__.py index 8b4972a78..62c25e05e 100755 --- a/pos_discount_manager/__manifest__.py +++ b/pos_discount_manager/__manifest__.py @@ -26,7 +26,7 @@ 'description': """"This module helps you to set a discount limit for each employee in every point of sale.It facilitate the manager approval when discount over the limit of employee""", - 'category': 'Point of Sale', + 'category': 'Point Of Sale', 'author': 'Cybrosys Techno Solutions', 'company': 'Cybrosys Techno Solutions', 'maintainer': "Cybrosys Techno Solutions", diff --git a/pos_discount_manager/doc/RELEASE_NOTES.md b/pos_discount_manager/doc/RELEASE_NOTES.md index 8d6051853..eed11b767 100755 --- a/pos_discount_manager/doc/RELEASE_NOTES.md +++ b/pos_discount_manager/doc/RELEASE_NOTES.md @@ -3,4 +3,10 @@ #### 12.05.2023 #### Version 16.0.1.0.0 #### ADD -Initial Commit for POS Discount Manager Approval \ No newline at end of file +- Initial Commit POS Discount Manager Approval + +#### 21.07.2023 +#### Version 16.0.2.0.1 +#### FIX +- Removed the already existing function from payment screen js function. +- Super the existing button action. \ No newline at end of file diff --git a/pos_discount_manager/static/description/index.html b/pos_discount_manager/static/description/index.html index 2ce9b3e18..d3a13ecca 100755 --- a/pos_discount_manager/static/description/index.html +++ b/pos_discount_manager/static/description/index.html @@ -628,7 +628,7 @@ - + diff --git a/pos_discount_manager/static/src/js/ValidateManager.js b/pos_discount_manager/static/src/js/ValidateManager.js index 80005b3bf..80848dda3 100755 --- a/pos_discount_manager/static/src/js/ValidateManager.js +++ b/pos_discount_manager/static/src/js/ValidateManager.js @@ -10,92 +10,45 @@ odoo.define('pos_discount_manager.ValidateManager', function(require) { *Override the validate button to approve discount limit */ async _finalizeValidation() { - if ((this.currentOrder.is_paid_with_cash() || this.currentOrder.get_change()) && this.env.pos.config.iface_cashdrawer) { - this.env.pos.proxy.printer.open_cashbox(); - } - - this.currentOrder.initialize_validation_date(); - let syncedOrderBackendIds = []; - try { - if (this.currentOrder.is_to_invoice()) { - syncedOrderBackendIds = await this.env.pos.push_and_invoice_order( - this.currentOrder - ); - } else { - syncedOrderBackendIds = await this.env.pos.push_single_order(this.currentOrder); - } - } catch (error) { - if (error instanceof Error) { - throw error; - } else { - await this._handlePushOrderError(error); - } - } - if (syncedOrderBackendIds.length && this.currentOrder.wait_for_push_order()) { - const result = await this._postPushOrderResolve( - this.currentOrder, - syncedOrderBackendIds - ); - if (!result) { - await this.showPopup('ErrorPopup', { - title: 'Error: no internet connection.', - body: error, + var order = this.env.pos.get_order(); + var orderlines = this.currentOrder.get_orderlines() + var employee_dis = this.env.pos.get_cashier()['limited_discount']; + var employee_name = this.env.pos.get_cashier()['name'] + var flag = 1; + orderlines.forEach((order) => { + if(order.discount > employee_dis) + flag = 0; + }); + if (flag != 1) { + const {confirmed,payload} = await this.showPopup('NumberPopup', { + title: this.env._t(employee_name + ', your discount is over the limit. \n Manager pin for Approval'), }); - } - } + if(confirmed){ + var output = this.env.pos.employees.filter((obj) => obj.role == 'manager'); + var pin = output[0].pin + if (Sha1.hash(payload) == pin) { + this.showScreen(this.nextScreen); + } + else { + this.showPopup('ErrorPopup', { + title: this.env._t(" Manager Restricted your discount"), + body: this.env._t(employee_name + ", Your Manager pin is incorrect."), - var order = this.env.pos.get_order(); - var orderlines = this.currentOrder.get_orderlines() - var employee_dis = this.env.pos.get_cashier()['limited_discount']; - var employee_name = this.env.pos.get_cashier()['name'] - var flag = 1; - orderlines.forEach((order) => { - if(order.discount > employee_dis) - flag = 0; - }); - if (flag != 1) { - const {confirmed,payload} = await this.showPopup('NumberPopup', { - title: this.env._t(employee_name + ', your discount is over the limit. \n Manager pin for Approval'), - }); - if(confirmed){ - var output = this.env.pos.employees.filter((obj) => obj.role == 'manager'); - var pin = output[0].pin - if (Sha1.hash(payload) == pin) { - this.showScreen(this.nextScreen); + }); + return false; + } } else { - this.showPopup('ErrorPopup', { - title: this.env._t(" Manager Restricted your discount"), - body: this.env._t(employee_name + ", Your Manager pin is incorrect."), - - }); return false; } - } - else { - return false; - } - } - this.currentOrder.finalized = true; - this.showScreen(this.nextScreen); - // If we succeeded in syncing the current order, and - // there are still other orders that are left unsynced, - // we ask the user if he is willing to wait and sync them. - if (syncedOrderBackendIds.length && this.env.pos.db.get_orders().length) { - const { - confirmed - } = await this.showPopup('ConfirmPopup', { - title: this.env._t('Remaining unsynced orders'), - body: this.env._t( - 'There are unsynced orders. Do you want to sync these orders?' - ), - }); - if (confirmed) { - // Not yet sure if this should be awaited or not. - this.env.pos.push_orders(); - } - } - } + } + this.currentOrder.finalized = true; + this.showScreen(this.nextScreen); + super._finalizeValidation(); + // If we succeeded in syncing the current order, and + // there are still other orders that are left unsynced, + // we ask the user if he is willing to wait and sync them. + } } Registries.Component.extend(PaymentScreen, ValidateManagers); return ValidateManagers;