mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[ADD] Contract: fiscal position
[ADD] Contract: new contributor [REF] Contract: indexes
This commit is contained in:
committed by
Francisco Ivan Anton Prieto
parent
ae2bf92694
commit
ac56addd2b
@@ -19,7 +19,8 @@ class AbstractAccountAnalyticContract(models.AbstractModel):
|
|||||||
name = fields.Char(required=True)
|
name = fields.Char(required=True)
|
||||||
# Needed for avoiding errors on several inherited behaviors
|
# Needed for avoiding errors on several inherited behaviors
|
||||||
partner_id = fields.Many2one(
|
partner_id = fields.Many2one(
|
||||||
comodel_name="res.partner", string="Partner (always False)"
|
comodel_name="res.partner", string="Partner (always False)",
|
||||||
|
index=True,
|
||||||
)
|
)
|
||||||
pricelist_id = fields.Many2one(
|
pricelist_id = fields.Many2one(
|
||||||
comodel_name='product.pricelist', string='Pricelist'
|
comodel_name='product.pricelist', string='Pricelist'
|
||||||
@@ -27,6 +28,7 @@ class AbstractAccountAnalyticContract(models.AbstractModel):
|
|||||||
contract_type = fields.Selection(
|
contract_type = fields.Selection(
|
||||||
selection=[('sale', 'Customer'), ('purchase', 'Supplier')],
|
selection=[('sale', 'Customer'), ('purchase', 'Supplier')],
|
||||||
default='sale',
|
default='sale',
|
||||||
|
index=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
journal_id = fields.Many2one(
|
journal_id = fields.Many2one(
|
||||||
@@ -35,6 +37,7 @@ class AbstractAccountAnalyticContract(models.AbstractModel):
|
|||||||
default=lambda s: s._default_journal(),
|
default=lambda s: s._default_journal(),
|
||||||
domain="[('type', '=', contract_type),"
|
domain="[('type', '=', contract_type),"
|
||||||
"('company_id', '=', company_id)]",
|
"('company_id', '=', company_id)]",
|
||||||
|
index=True,
|
||||||
)
|
)
|
||||||
company_id = fields.Many2one(
|
company_id = fields.Many2one(
|
||||||
'res.company',
|
'res.company',
|
||||||
|
|||||||
@@ -48,9 +48,15 @@ class AccountAnalyticAccount(models.Model):
|
|||||||
compute='_compute_date_end', string='Date End', store=True
|
compute='_compute_date_end', string='Date End', store=True
|
||||||
)
|
)
|
||||||
payment_term_id = fields.Many2one(
|
payment_term_id = fields.Many2one(
|
||||||
comodel_name='account.payment.term', string='Payment Terms'
|
comodel_name='account.payment.term', string='Payment Terms',
|
||||||
|
index=True,
|
||||||
)
|
)
|
||||||
invoice_count = fields.Integer(compute="_compute_invoice_count")
|
invoice_count = fields.Integer(compute="_compute_invoice_count")
|
||||||
|
fiscal_position_id = fields.Many2one(
|
||||||
|
comodel_name='account.fiscal.position',
|
||||||
|
string='Fiscal Position',
|
||||||
|
ondelete='restrict',
|
||||||
|
)
|
||||||
|
|
||||||
@api.multi
|
@api.multi
|
||||||
def _get_related_invoices(self):
|
def _get_related_invoices(self):
|
||||||
@@ -151,6 +157,7 @@ class AccountAnalyticAccount(models.Model):
|
|||||||
@api.onchange('partner_id')
|
@api.onchange('partner_id')
|
||||||
def _onchange_partner_id(self):
|
def _onchange_partner_id(self):
|
||||||
self.pricelist_id = self.partner_id.property_product_pricelist.id
|
self.pricelist_id = self.partner_id.property_product_pricelist.id
|
||||||
|
self.fiscal_position_id = self.partner_id.property_account_position_id
|
||||||
|
|
||||||
@api.constrains('partner_id', 'recurring_invoices')
|
@api.constrains('partner_id', 'recurring_invoices')
|
||||||
def _check_partner_id_recurring_invoices(self):
|
def _check_partner_id_recurring_invoices(self):
|
||||||
@@ -216,6 +223,7 @@ class AccountAnalyticAccount(models.Model):
|
|||||||
'company_id': self.company_id.id,
|
'company_id': self.company_id.id,
|
||||||
'user_id': self.partner_id.user_id.id,
|
'user_id': self.partner_id.user_id.id,
|
||||||
'payment_term_id': self.payment_term_id.id,
|
'payment_term_id': self.payment_term_id.id,
|
||||||
|
'fiscal_position_id': self.fiscal_position_id.id,
|
||||||
}
|
}
|
||||||
|
|
||||||
@api.multi
|
@api.multi
|
||||||
@@ -279,8 +287,10 @@ class AccountAnalyticAccount(models.Model):
|
|||||||
def _finalize_invoice_creation(self, invoices):
|
def _finalize_invoice_creation(self, invoices):
|
||||||
for invoice in invoices:
|
for invoice in invoices:
|
||||||
payment_term = invoice.payment_term_id
|
payment_term = invoice.payment_term_id
|
||||||
|
fiscal_position = invoice.fiscal_position_id
|
||||||
invoice._onchange_partner_id()
|
invoice._onchange_partner_id()
|
||||||
invoice.payment_term_id = payment_term
|
invoice.payment_term_id = payment_term
|
||||||
|
invoice.fiscal_position_id = fiscal_position
|
||||||
invoices.compute_taxes()
|
invoices.compute_taxes()
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
|
|||||||
@@ -5,3 +5,5 @@
|
|||||||
* Vicent Cubells <vicent.cubells@tecnativa.com>
|
* Vicent Cubells <vicent.cubells@tecnativa.com>
|
||||||
* Miquel Raïch <miquel.raich@eficent.com>
|
* Miquel Raïch <miquel.raich@eficent.com>
|
||||||
* Souheil Bejaoui <souheil.bejaoui@acsone.eu>
|
* Souheil Bejaoui <souheil.bejaoui@acsone.eu>
|
||||||
|
* Thomas Binsfeld <thomas.binsfeld@acsone.eu>
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
context="{'default_contract_type': contract_type}"/>
|
context="{'default_contract_type': contract_type}"/>
|
||||||
<field name="contract_type" invisible="1"
|
<field name="contract_type" invisible="1"
|
||||||
required="1"/>
|
required="1"/>
|
||||||
|
<field name="fiscal_position_id"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user