From 18b5efb42d4bd332babd28d093a12c56d8533595 Mon Sep 17 00:00:00 2001 From: Joseph Caburnay Date: Tue, 19 May 2020 12:03:45 +0000 Subject: [PATCH] [IMP] point_of_sale,pos_*: replace 'save' buttons Replace save buttons in each module field in pos.config with a message. Saving the pos.config form when a module_ or group_ field is modified will reload the page. closes odoo/odoo#51535 Related: odoo/enterprise#10669 Signed-off-by: pimodoo --- .../src/js/web_overrides/pos_config_form.js | 37 +++++++++++++++++++ .../point_of_sale/views/pos_assets_common.xml | 1 + .../point_of_sale/views/pos_config_view.xml | 24 ++++++++---- .../pos_discount/views/pos_discount_views.xml | 2 +- addons/pos_hr/views/pos_config.xml | 2 +- .../pos_restaurant/views/pos_config_views.xml | 2 +- 6 files changed, 57 insertions(+), 11 deletions(-) create mode 100644 addons/point_of_sale/static/src/js/web_overrides/pos_config_form.js diff --git a/addons/point_of_sale/static/src/js/web_overrides/pos_config_form.js b/addons/point_of_sale/static/src/js/web_overrides/pos_config_form.js new file mode 100644 index 00000000000..62cc162af21 --- /dev/null +++ b/addons/point_of_sale/static/src/js/web_overrides/pos_config_form.js @@ -0,0 +1,37 @@ +odoo.define('point_of_sale.pos_config_form', function (require) { + 'use strict'; + + var FormController = require('web.FormController'); + var FormView = require('web.FormView'); + var viewRegistry = require('web.view_registry'); + + var PosConfigFormController = FormController.extend({ + _enableButtons: function (changedFields) { + let shouldReload = false; + for (let field of changedFields) { + if ( + field.startsWith('module_') || + field.startsWith('group_') || + field === 'is_posbox' + ) { + shouldReload = true; + break; + } + } + if (shouldReload) { + window.location.reload(); + } else { + this._super.apply(this, arguments); + } + }, + }); + + var PosConfigFormView = FormView.extend({ + config: _.extend({}, FormView.prototype.config, { + Controller: PosConfigFormController, + }), + }); + + viewRegistry.add('pos_config_form', PosConfigFormView); + return FormView; +}); diff --git a/addons/point_of_sale/views/pos_assets_common.xml b/addons/point_of_sale/views/pos_assets_common.xml index 7b9683c0505..e33150b7040 100644 --- a/addons/point_of_sale/views/pos_assets_common.xml +++ b/addons/point_of_sale/views/pos_assets_common.xml @@ -112,6 +112,7 @@ + diff --git a/addons/point_of_sale/views/pos_config_view.xml b/addons/point_of_sale/views/pos_config_view.xml index b8c27a75eda..0d7ab8e24ef 100644 --- a/addons/point_of_sale/views/pos_config_view.xml +++ b/addons/point_of_sale/views/pos_config_view.xml @@ -27,7 +27,7 @@ pos.config.form.view pos.config -
+ @@ -63,7 +63,11 @@
Use employee credentials to log in to the PoS session and switch cashier
-