diff --git a/addons/delivery_mondialrelay/models/delivery_carrier.py b/addons/delivery_mondialrelay/models/delivery_carrier.py index 451003aa913..98de573e80d 100644 --- a/addons/delivery_mondialrelay/models/delivery_carrier.py +++ b/addons/delivery_mondialrelay/models/delivery_carrier.py @@ -1,13 +1,14 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import fields, models, api +from odoo import _, fields, models, api +from odoo.exceptions import UserError class DeliveryCarrierMondialRelay(models.Model): _inherit = 'delivery.carrier' - is_mondialrelay = fields.Boolean(compute='_compute_is_mondialrelay') + is_mondialrelay = fields.Boolean(compute='_compute_is_mondialrelay', search='_search_is_mondialrelay') mondialrelay_brand = fields.Char(string='Brand Code', default='BDTEST ') mondialrelay_packagetype = fields.Char(default="24R", groups="base.group_system") # Advanced @@ -16,6 +17,13 @@ class DeliveryCarrierMondialRelay(models.Model): for c in self: c.is_mondialrelay = c.product_id.default_code == "MR" + def _search_is_mondialrelay(self, operator, value): + if operator not in ('=', '!=') or not isinstance(value, bool): + raise UserError(_("Operation not supported")) + if not value: + operator = '!=' if operator == '=' else '=' + return [('product_id.default_code', operator, 'MR')] + def fixed_get_tracking_link(self, picking): return self.base_on_rule_get_tracking_link(picking) diff --git a/addons/website_sale/models/res_config_settings.py b/addons/website_sale/models/res_config_settings.py index 7ee211e38fa..ded43adb42b 100644 --- a/addons/website_sale/models/res_config_settings.py +++ b/addons/website_sale/models/res_config_settings.py @@ -41,6 +41,7 @@ class ResConfigSettings(models.TransientModel): module_delivery = fields.Boolean( compute='_compute_module_delivery', store=True, readonly=False) + module_delivery_mondialrelay = fields.Boolean("Mondial Relay Connector") module_website_sale_delivery = fields.Boolean( compute='_compute_module_delivery', store=True, readonly=False) group_product_pricelist = fields.Boolean( diff --git a/addons/website_sale/views/res_config_settings_views.xml b/addons/website_sale/views/res_config_settings_views.xml index 5c23f4d6f65..0ef6972064f 100644 --- a/addons/website_sale/views/res_config_settings_views.xml +++ b/addons/website_sale/views/res_config_settings_views.xml @@ -335,6 +335,17 @@ +
+
+ +
+
+
+
diff --git a/addons/website_sale_delivery_mondialrelay/__manifest__.py b/addons/website_sale_delivery_mondialrelay/__manifest__.py index 92ebd70f3be..ea829d2cb87 100644 --- a/addons/website_sale_delivery_mondialrelay/__manifest__.py +++ b/addons/website_sale_delivery_mondialrelay/__manifest__.py @@ -10,6 +10,8 @@ 'version': '0.1', 'depends': ['website_sale_delivery', 'delivery_mondialrelay'], 'data': [ + 'views/delivery_carrier_views.xml', + 'views/res_config_settings_views.xml', 'views/templates.xml', ], 'assets': { diff --git a/addons/website_sale_delivery_mondialrelay/views/delivery_carrier_views.xml b/addons/website_sale_delivery_mondialrelay/views/delivery_carrier_views.xml new file mode 100644 index 00000000000..75e2b3aafe5 --- /dev/null +++ b/addons/website_sale_delivery_mondialrelay/views/delivery_carrier_views.xml @@ -0,0 +1,13 @@ + + + + delivery.carrier.view.search.inherit.website.sale.delivery.mondial.relay + delivery.carrier + + + + + + + + diff --git a/addons/website_sale_delivery_mondialrelay/views/res_config_settings_views.xml b/addons/website_sale_delivery_mondialrelay/views/res_config_settings_views.xml new file mode 100644 index 00000000000..ef85f8b459a --- /dev/null +++ b/addons/website_sale_delivery_mondialrelay/views/res_config_settings_views.xml @@ -0,0 +1,17 @@ + + + + res.config.settings.view.form.inherit.website.sale.delivery.mondial.relay + res.config.settings + + +
+
+
+
+
+
+
+
+