diff options
| author | Jaykishan Solanki <jao@odoo.com> | 2017-07-19 10:59:34 +0200 |
|---|---|---|
| committer | Richard Mathot <rim@odoo.com> | 2017-07-20 15:32:20 +0200 |
| commit | 6999d054fca40d8858d2c8fef18dd72c9023ba13 (patch) | |
| tree | 1636ceec28a9e04b68d9f3797b407afa2ad2dc9e | |
| parent | b446930dc42479f524eab7e677c5b2007f9fa0a6 (diff) | |
[ADD] delivery: delivery.carrier must follow the same multi-company rules than the products they reference
| -rw-r--r-- | addons/delivery/__manifest__.py | 1 | ||||
| -rw-r--r-- | addons/delivery/models/delivery_carrier.py | 1 | ||||
| -rw-r--r-- | addons/delivery/security/delivery_carrier_security.xml | 11 | ||||
| -rw-r--r-- | addons/delivery/views/delivery_view.xml | 3 |
4 files changed, 16 insertions, 0 deletions
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 @@ +<?xml version='1.0' encoding='utf-8'?> +<odoo> + <data noupdate="1"> + <record model="ir.rule" id="delivery_carrier_comp_rule"> + <field name="name">Delivery Carrier multi-company</field> + <field name="model_id" ref="model_delivery_carrier"/> + <field name="global" eval="True"/> + <field name="domain_force"> ['|',('company_id','=',user.company_id.id),('company_id','=',False)]</field> + </record> + </data> +</odoo> 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 @@ <field nolabel="1" name="amount" attrs="{'required':[('free_over','!=', False)], 'invisible':[('free_over','=', False)]}"/> </div> </group> + <group> + <field name="company_id"/> + </group> </group> <notebook> <page string="Pricing" attrs="{'invisible': [('delivery_type', 'not in', ['fixed', 'base_on_rule'])]}"> |
