[FIX] analytic invoice/contract lines inheritance

Bug description
---------------

`account.analytic.contract.line` inherits
`account.analytic.invoice.line`

`account.analytic.invoice.line` defines field `analytic_account_id`:
   - comodel='account.analytic.account'

`account.analytic.contract.line` redefines field `analytic_account_id`:
   - comodel='account.analytic.contract'

On attempt to extend `account.analytic.invoice.line` model adding
field that depends on `analytic_account_id.date_start`
Odoo fails to update, because it adds this field to
`account.analytic.contract.line` through inheritance,
and `account.analytic.contract` model have no this field.

What is done
------------

Change inheritance order:
- `account.analytic.invoice.line` inherits
`account.analytic.contract.line`
- no file renames at this stage (this wil be done in next commit)
This commit is contained in:
Dmytro Katyukha
2018-06-27 00:40:12 +03:00
committed by Ronald Portier
parent 2dfd92d080
commit 3c0c73c0f5
3 changed files with 12 additions and 13 deletions

View File

@@ -5,15 +5,13 @@
from odoo import fields, models from odoo import fields, models
class AccountAnalyticContractLine(models.Model): class AccountAnalyticInvoiceLine(models.Model):
_name = 'account.analytic.invoice.line'
_name = 'account.analytic.contract.line' _inherit = 'account.analytic.contract.line'
_description = 'Contract Lines'
_inherit = 'account.analytic.invoice.line'
analytic_account_id = fields.Many2one( analytic_account_id = fields.Many2one(
string='Contract', 'account.analytic.account',
comodel_name='account.analytic.contract', string='Analytic Account',
required=True, required=True,
ondelete='cascade', ondelete='cascade',
) )

View File

@@ -12,8 +12,9 @@ from odoo.exceptions import ValidationError
from odoo.tools.translate import _ from odoo.tools.translate import _
class AccountAnalyticInvoiceLine(models.Model): class AccountAnalyticContractLine(models.Model):
_name = 'account.analytic.invoice.line' _name = 'account.analytic.contract.line'
_description = 'Contract Lines'
_order = "sequence,id" _order = "sequence,id"
product_id = fields.Many2one( product_id = fields.Many2one(
@@ -22,8 +23,8 @@ class AccountAnalyticInvoiceLine(models.Model):
required=True, required=True,
) )
analytic_account_id = fields.Many2one( analytic_account_id = fields.Many2one(
'account.analytic.account', string='Contract',
string='Analytic Account', comodel_name='account.analytic.contract',
required=True, required=True,
ondelete='cascade', ondelete='cascade',
) )

View File

@@ -28,8 +28,8 @@ class AccountAnalyticAccount(models.Model):
return vals return vals
class AccountAnalyticInvoiceLine(models.Model): class AccountAnalyticContractLine(models.Model):
_inherit = 'account.analytic.invoice.line' _inherit = 'account.analytic.contract.line'
qty_type = fields.Selection( qty_type = fields.Selection(
selection=[ selection=[