[IMP] lunch: Add multi-company ir.rule

- Add a related on the lunch.supplier to the company id of the linked res.partner
- Add related on the product: to the company id of the linked lunch.supplier
- add multi company Record rules

closes odoo/odoo#34859

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit is contained in:
Lucas Lefèvre
2019-07-17 13:17:59 +00:00
committed by Yannick Tivisse
parent 556f8389b1
commit 50043cc3ad
4 changed files with 17 additions and 1 deletions
+1 -1
View File
@@ -94,7 +94,7 @@ class LunchProduct(models.Model):
supplier_id = fields.Many2one('lunch.supplier', 'Vendor', required=True)
active = fields.Boolean(default=True)
company_id = fields.Many2one('res.company', default=lambda self: self.env.company)
company_id = fields.Many2one('res.company', related='supplier_id.company_id', store=True)
currency_id = fields.Many2one('res.currency', related='company_id.currency_id')
# image: all image fields are base64 encoded and PIL-supported
+1
View File
@@ -48,6 +48,7 @@ class LunchSupplier(models.Model):
city = fields.Char(related='partner_id.city', readonly=False)
state_id = fields.Many2one("res.country.state", related='partner_id.state_id', readonly=False)
country_id = fields.Many2one('res.country', related='partner_id.country_id', readonly=False)
company_id = fields.Many2one('res.company', related='partner_id.company_id', readonly=False)
responsible_id = fields.Many2one('res.users', string="Responsible", domain=lambda self: [('groups_id', 'in', self.env.ref('lunch.group_lunch_manager').id)],
default=lambda self: self.env.user,
+14
View File
@@ -44,5 +44,19 @@
<record id="base.default_user" model="res.users">
<field name="groups_id" eval="[(4,ref('lunch.group_lunch_manager'))]"/>
</record>
<record id="ir_rule_lunch_supplier_multi_company" model="ir.rule">
<field name="name">Lunch supplier: Multi Company</field>
<field name="model_id" ref="model_lunch_supplier"/>
<field name="global" eval="True"/>
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
</record>
<record id="ir_rule_lunch_product_multi_company" model="ir.rule">
<field name="name">Lunch product: Multi Company</field>
<field name="model_id" ref="model_lunch_product"/>
<field name="global" eval="True"/>
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
</record>
</data>
</odoo>
@@ -40,6 +40,7 @@
<field name="active" invisible="1"/>
<field name="email" attrs="{'required': [('send_by', '=', 'mail')]}"/>
<field name="phone" attrs="{'required': [('send_by', '=', 'phone')]}"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="responsible_id" attrs="{'required': [('send_by', '=', 'mail')]}" groups="base.group_no_one"/>
</group>
</group>