Merge PR #443 into 12.0

Signed-off-by max3903
This commit is contained in:
OCA-git-bot
2019-12-26 17:50:25 +00:00
2 changed files with 17 additions and 1 deletions

View File

@@ -9,7 +9,8 @@ class Agreement(models.Model):
sale_id = fields.Many2one('sale.order', string='Sales Order')
analytic_account_id = fields.Many2one(
'account.analytic.account', 'Analytic Account', readonly=True,
'account.analytic.account',
'Analytic Account',
copy=False)

View File

@@ -44,3 +44,18 @@ class SaleOrder(models.Model):
'agreement_id': order.agreement_id.id,
})
return res
def action_confirm(self):
# If sale_timesheet is installed, the _action_confirm()
# may be setting an Analytic Account on the SO.
# But since it is not a dependency, that can happen after
# we create the Agreement.
# To work around that, we check if that is the case,
# and make sure the SO Analytic Account is copied to the Agreement.
res = super(SaleOrder, self).action_confirm()
for order in self:
agreement = order.agreement_id
if (order.analytic_account_id and agreement and
not agreement.analytic_account_id):
agreement.analytic_account_id = order.analytic_account_id
return res