From 5ad2cf1d43fd0b375a0f6c18ef8a9d18bf15a9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20D=2E=20D=C3=ADaz?= Date: Fri, 21 May 2021 14:37:09 +0200 Subject: [PATCH] [FIX] web_widget_one2many_product_picker_sale_secondary_unit: Secondary unit management --- .../__manifest__.py | 2 +- .../js/views/One2ManyProductPicker/record.js | 52 +++++++++++-------- .../views/One2ManyProductPicker/renderer.js | 6 ++- .../widgets/field_one2many_product_picker.js | 47 +++++++++-------- .../src/xml/one2many_product_picker.xml | 3 +- 5 files changed, 60 insertions(+), 50 deletions(-) diff --git a/web_widget_one2many_product_picker_sale_secondary_unit/__manifest__.py b/web_widget_one2many_product_picker_sale_secondary_unit/__manifest__.py index e605a7ce9..ae921839c 100644 --- a/web_widget_one2many_product_picker_sale_secondary_unit/__manifest__.py +++ b/web_widget_one2many_product_picker_sale_secondary_unit/__manifest__.py @@ -10,7 +10,7 @@ "version": "13.0.1.0.0", "category": "Website", "author": "Tecnativa, " "Odoo Community Association (OCA)", - "website": "https://www.tecnativa.com", + "website": "https://github.com/OCA/web", "license": "AGPL-3", "depends": ["web_widget_one2many_product_picker", "sale_order_secondary_unit"], "data": ["templates/assets.xml"], diff --git a/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/views/One2ManyProductPicker/record.js b/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/views/One2ManyProductPicker/record.js index 0755a1003..56e891c06 100644 --- a/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/views/One2ManyProductPicker/record.js +++ b/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/views/One2ManyProductPicker/record.js @@ -1,27 +1,33 @@ // Copyright 2021 Tecnativa - Alexandre Díaz // License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -odoo.define("web_widget_one2many_product_picker_sale_secondary_unit.One2ManyProductPickerRecord", function( - require -) { - "use strict"; +odoo.define( + "web_widget_one2many_product_picker_sale_secondary_unit.One2ManyProductPickerRecord", + function(require) { + "use strict"; - const One2ManyProductPickerRecord = require("web_widget_one2many_product_picker.One2ManyProductPickerRecord"); + const One2ManyProductPickerRecord = require("web_widget_one2many_product_picker.One2ManyProductPickerRecord"); - One2ManyProductPickerRecord.include({ - - /** - * @override - */ - _setMasterUomMap: function () { - this._super.apply(this, arguments); - if ((this.state && this.state.data && this.state.data.secondary_uom_id) || - !this.state && this.recordSearch && this.recordSearch.sale_secondary_uom_id) { - _.extend(this.master_uom_map, { - "field_uom": "secondary_uom", - "field_uom_qty": "secondary_uom_qty", - "search_field_uom": "sale_secondary_uom_id", - }); - } - }, - }); -}); + One2ManyProductPickerRecord.include({ + /** + * @override + */ + _setMasterUomMap: function() { + this._super.apply(this, arguments); + if ( + (this.state && + this.state.data && + this.state.data.secondary_uom_id) || + (!this.state && + this.recordSearch && + this.recordSearch.sale_secondary_uom_id) + ) { + _.extend(this.master_uom_map, { + field_uom: "secondary_uom", + field_uom_qty: "secondary_uom_qty", + search_field_uom: "sale_secondary_uom_id", + }); + } + }, + }); + } +); diff --git a/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/views/One2ManyProductPicker/renderer.js b/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/views/One2ManyProductPicker/renderer.js index 7b23f02c0..45aeceb73 100644 --- a/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/views/One2ManyProductPicker/renderer.js +++ b/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/views/One2ManyProductPicker/renderer.js @@ -11,9 +11,11 @@ odoo.define( _isEqualState: function(state_a, state_b) { const res = this._super.apply(this, arguments); const secondary_uom_id_a = - state_a.data.secondary_uom_id && state_a.data.secondary_uom_id.data.id; + state_a.data.secondary_uom_id && + state_a.data.secondary_uom_id.data.id; const secondary_uom_id_b = - state_b.data.secondary_uom_id && state_b.data.secondary_uom_id.data.id; + state_b.data.secondary_uom_id && + state_b.data.secondary_uom_id.data.id; return res && secondary_uom_id_a === secondary_uom_id_b; }, }); diff --git a/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/widgets/field_one2many_product_picker.js b/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/widgets/field_one2many_product_picker.js index 01492f799..2f817abe4 100644 --- a/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/widgets/field_one2many_product_picker.js +++ b/web_widget_one2many_product_picker_sale_secondary_unit/static/src/js/widgets/field_one2many_product_picker.js @@ -1,27 +1,30 @@ // Copyright 2021 Tecnativa - Alexandre Díaz // License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -odoo.define("web_widget_one2many_product_picker_sale_secondary_unit.FieldOne2ManyProductPicker", function( - require -) { - "use strict"; +odoo.define( + "web_widget_one2many_product_picker_sale_secondary_unit.FieldOne2ManyProductPicker", + function(require) { + "use strict"; - const FieldOne2ManyProductPicker = require("web_widget_one2many_product_picker.FieldOne2ManyProductPicker"); + const FieldOne2ManyProductPicker = require("web_widget_one2many_product_picker.FieldOne2ManyProductPicker"); - FieldOne2ManyProductPicker.include({ - // Model product.product fields - search_read_fields: _.unique([].concat(FieldOne2ManyProductPicker.prototype.search_read_fields, [ - "sale_secondary_uom_id", - ])), + FieldOne2ManyProductPicker.include({ + // Model product.product fields + search_read_fields: _.unique( + [].concat(FieldOne2ManyProductPicker.prototype.search_read_fields, [ + "sale_secondary_uom_id", + ]) + ), - /** - * @private - * @returns {Object} - */ - _getDefaultOptions: function() { - const res = this._super.apply(this, arguments); - res.field_map.secondary_uom = "secondary_uom_id"; - res.field_map.secondary_uom_qty = "secondary_uom_qty"; - return res; - }, - }); -}); + /** + * @private + * @returns {Object} + */ + _getDefaultOptions: function() { + const res = this._super.apply(this, arguments); + res.field_map.secondary_uom = "secondary_uom_id"; + res.field_map.secondary_uom_qty = "secondary_uom_qty"; + return res; + }, + }); + } +); diff --git a/web_widget_one2many_product_picker_sale_secondary_unit/static/src/xml/one2many_product_picker.xml b/web_widget_one2many_product_picker_sale_secondary_unit/static/src/xml/one2many_product_picker.xml index 88ea03be1..47cada0a0 100644 --- a/web_widget_one2many_product_picker_sale_secondary_unit/static/src/xml/one2many_product_picker.xml +++ b/web_widget_one2many_product_picker_sale_secondary_unit/static/src/xml/one2many_product_picker.xml @@ -1,6 +1,5 @@