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)
|
||||
# Needed for avoiding errors on several inherited behaviors
|
||||
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(
|
||||
comodel_name='product.pricelist', string='Pricelist'
|
||||
@@ -27,6 +28,7 @@ class AbstractAccountAnalyticContract(models.AbstractModel):
|
||||
contract_type = fields.Selection(
|
||||
selection=[('sale', 'Customer'), ('purchase', 'Supplier')],
|
||||
default='sale',
|
||||
index=True,
|
||||
)
|
||||
|
||||
journal_id = fields.Many2one(
|
||||
@@ -35,6 +37,7 @@ class AbstractAccountAnalyticContract(models.AbstractModel):
|
||||
default=lambda s: s._default_journal(),
|
||||
domain="[('type', '=', contract_type),"
|
||||
"('company_id', '=', company_id)]",
|
||||
index=True,
|
||||
)
|
||||
company_id = fields.Many2one(
|
||||
'res.company',
|
||||
|
||||
@@ -48,9 +48,15 @@ class AccountAnalyticAccount(models.Model):
|
||||
compute='_compute_date_end', string='Date End', store=True
|
||||
)
|
||||
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")
|
||||
fiscal_position_id = fields.Many2one(
|
||||
comodel_name='account.fiscal.position',
|
||||
string='Fiscal Position',
|
||||
ondelete='restrict',
|
||||
)
|
||||
|
||||
@api.multi
|
||||
def _get_related_invoices(self):
|
||||
@@ -151,6 +157,7 @@ class AccountAnalyticAccount(models.Model):
|
||||
@api.onchange('partner_id')
|
||||
def _onchange_partner_id(self):
|
||||
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')
|
||||
def _check_partner_id_recurring_invoices(self):
|
||||
@@ -216,6 +223,7 @@ class AccountAnalyticAccount(models.Model):
|
||||
'company_id': self.company_id.id,
|
||||
'user_id': self.partner_id.user_id.id,
|
||||
'payment_term_id': self.payment_term_id.id,
|
||||
'fiscal_position_id': self.fiscal_position_id.id,
|
||||
}
|
||||
|
||||
@api.multi
|
||||
@@ -279,8 +287,10 @@ class AccountAnalyticAccount(models.Model):
|
||||
def _finalize_invoice_creation(self, invoices):
|
||||
for invoice in invoices:
|
||||
payment_term = invoice.payment_term_id
|
||||
fiscal_position = invoice.fiscal_position_id
|
||||
invoice._onchange_partner_id()
|
||||
invoice.payment_term_id = payment_term
|
||||
invoice.fiscal_position_id = fiscal_position
|
||||
invoices.compute_taxes()
|
||||
|
||||
@api.model
|
||||
|
||||
@@ -5,3 +5,5 @@
|
||||
* Vicent Cubells <vicent.cubells@tecnativa.com>
|
||||
* Miquel Raïch <miquel.raich@eficent.com>
|
||||
* Souheil Bejaoui <souheil.bejaoui@acsone.eu>
|
||||
* Thomas Binsfeld <thomas.binsfeld@acsone.eu>
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
context="{'default_contract_type': contract_type}"/>
|
||||
<field name="contract_type" invisible="1"
|
||||
required="1"/>
|
||||
<field name="fiscal_position_id"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user