[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 Dmytro Katyukha
parent 196eb44376
commit 2a029138a9
3 changed files with 12 additions and 12 deletions

View File

@@ -4,14 +4,13 @@
from odoo import fields, models from odoo import fields, models
class AccountAnalyticContractLine(models.Model): class AccountAnalyticInvoiceLine(models.Model):
_name = 'account.analytic.contract.line' _name = 'account.analytic.invoice.line'
_description = 'Contract Lines' _inherit = 'account.analytic.contract.line'
_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

@@ -14,8 +14,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(
@@ -24,8 +25,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

@@ -45,8 +45,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=[