diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 838690ba404..cda7e773a27 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -100,6 +100,9 @@ class SaleOrder(models.Model): for order in self: order.order_line._compute_tax_id() + def _inverse_project_id(self): + self.project_id = self.related_project_id + name = fields.Char(string='Order Reference', required=True, copy=False, readonly=True, index=True, default=lambda self: _('New')) origin = fields.Char(string='Source Document', help="Reference of the document that generated this sales order request.") client_order_ref = fields.Char(string='Customer Reference', copy=False) @@ -124,6 +127,7 @@ class SaleOrder(models.Model): pricelist_id = fields.Many2one('product.pricelist', string='Pricelist', required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="Pricelist for current sales order.") currency_id = fields.Many2one("res.currency", related='pricelist_id.currency_id', string="Currency", readonly=True, required=True) project_id = fields.Many2one('account.analytic.account', 'Analytic Account', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="The analytic account related to a sales order.", copy=False) + related_project_id = fields.Many2one('account.analytic.account', inverse='_inverse_project_id', related='project_id', string='Analytic Account', help="The analytic account related to a sales order.") order_line = fields.One2many('sale.order.line', 'order_id', string='Order Lines', states={'cancel': [('readonly', True)], 'done': [('readonly', True)]}, copy=True) diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 5a7270a378f..358004cd7a4 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -316,7 +316,11 @@ - + +