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 @@ +