diff --git a/mcfix_purchase/models/purchase.py b/mcfix_purchase/models/purchase.py index 7abd43d7..c40dc50f 100644 --- a/mcfix_purchase/models/purchase.py +++ b/mcfix_purchase/models/purchase.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from odoo import api, models, _ +from odoo import api, models, fields, _ from odoo.exceptions import ValidationError @@ -137,6 +137,17 @@ def _check_company_id(self): class PurchaseOrderLine(models.Model): _inherit = 'purchase.order.line' + company_id = fields.Many2one( + 'res.company', related=[], compute='_compute_line_company', + string='Company', store=True, readonly=True) + + @api.depends('order_id', 'order_id.company_id') + def _compute_line_company(self): + for line in self: + line.company_id = line.order_id.company_id + if not line.order_id and 'default_company_id' in self.env.context: + line.company_id = self.env.context['default_company_id'] + @api.multi @api.depends('company_id') def name_get(self): diff --git a/mcfix_purchase/views/purchase_order_view.xml b/mcfix_purchase/views/purchase_order_view.xml index 6504ca11..7a151884 100644 --- a/mcfix_purchase/views/purchase_order_view.xml +++ b/mcfix_purchase/views/purchase_order_view.xml @@ -15,10 +15,34 @@ [('company_id', '=', company_id)] - + + + {"default_company_id": company_id} + + + [('company_id', '=', company_id),('type_tax_use','=','purchase')] + + [('company_id', '=', company_id),('type_tax_use','=','purchase')] + + + ['|', ('company_id', '=', company_id),('company_id', '=', False)] + + + ['|', ('company_id', '=', company_id),('company_id', '=', False)] + + + + + + purchase.order.line.form2 + purchase.order.line + + + + [('type_tax_use','=','purchase'), ('company_id', '=', company_id)] - + ['|', ('company_id', '=', company_id),('company_id', '=', False)]