From 6999d054fca40d8858d2c8fef18dd72c9023ba13 Mon Sep 17 00:00:00 2001 From: Jaykishan Solanki Date: Wed, 19 Jul 2017 10:59:34 +0200 Subject: [PATCH] [ADD] delivery: delivery.carrier must follow the same multi-company rules than the products they reference --- addons/delivery/__manifest__.py | 1 + addons/delivery/models/delivery_carrier.py | 1 + .../delivery/security/delivery_carrier_security.xml | 11 +++++++++++ addons/delivery/views/delivery_view.xml | 3 +++ 4 files changed, 16 insertions(+) create mode 100644 addons/delivery/security/delivery_carrier_security.xml diff --git a/addons/delivery/__manifest__.py b/addons/delivery/__manifest__.py index 736da783817..cb276e1c246 100644 --- a/addons/delivery/__manifest__.py +++ b/addons/delivery/__manifest__.py @@ -16,6 +16,7 @@ invoices from picking, the system is able to add and compute the shipping line. 'depends': ['sale_stock'], 'data': [ 'security/ir.model.access.csv', + 'security/delivery_carrier_security.xml', 'views/product_packaging_view.xml', 'views/delivery_view.xml', 'views/partner_view.xml', diff --git a/addons/delivery/models/delivery_carrier.py b/addons/delivery/models/delivery_carrier.py index 2f9cff280e8..e026f00ce62 100644 --- a/addons/delivery/models/delivery_carrier.py +++ b/addons/delivery/models/delivery_carrier.py @@ -38,6 +38,7 @@ class DeliveryCarrier(models.Model): delivery_type = fields.Selection([('fixed', 'Fixed Price')], string='Provider', default='fixed', required=True) integration_level = fields.Selection([('rate', 'Get Rate'), ('rate_and_ship', 'Get Rate and Create Shipment')], string="Integration Level", default='rate_and_ship', help="Action while validating Delivery Orders") prod_environment = fields.Boolean("Environment", help="Set to True if your credentials are certified for production.") + company_id = fields.Many2one('res.company', string='Company', related='product_id.company_id', store=True) product_type = fields.Selection(related='product_id.type', default='service') product_sale_ok = fields.Boolean(related='product_id.sale_ok', default=False) diff --git a/addons/delivery/security/delivery_carrier_security.xml b/addons/delivery/security/delivery_carrier_security.xml new file mode 100644 index 00000000000..8fad0891676 --- /dev/null +++ b/addons/delivery/security/delivery_carrier_security.xml @@ -0,0 +1,11 @@ + + + + + Delivery Carrier multi-company + + + ['|',('company_id','=',user.company_id.id),('company_id','=',False)] + + + diff --git a/addons/delivery/views/delivery_view.xml b/addons/delivery/views/delivery_view.xml index 54b4ccc325e..7e1f33cbf5b 100644 --- a/addons/delivery/views/delivery_view.xml +++ b/addons/delivery/views/delivery_view.xml @@ -88,6 +88,9 @@ + + +