42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
from odoo import models, fields, api, _
|
|
from odoo.exceptions import ValidationError
|
|
import logging
|
|
# from dateutil.relativedelta import relativedelta
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
class L10nArPartnerTax(models.Model):
|
|
_name = "l10n_ar.partner.tax"
|
|
_description = "Argentinean Partner Taxes"
|
|
_order = "to_date desc, from_date desc, tax_id"
|
|
_check_company_auto = True
|
|
_check_company_domain = models.check_company_domain_parent_of
|
|
|
|
partner_id = fields.Many2one(
|
|
'res.partner',
|
|
required=True,
|
|
ondelete='cascade',
|
|
check_company=True,
|
|
)
|
|
tax_id = fields.Many2one(
|
|
'account.tax',
|
|
required=True,
|
|
)
|
|
company_id = fields.Many2one(
|
|
related='tax_id.company_id', store=True,
|
|
)
|
|
from_date = fields.Date(
|
|
string="From Date"
|
|
)
|
|
to_date = fields.Date(
|
|
string="To Date"
|
|
)
|
|
ref = fields.Char(
|
|
string="ref"
|
|
)
|
|
|
|
@api.constrains('from_date', 'to_date')
|
|
def check_partner_tax_dates(self):
|
|
if self.filtered(lambda x: x.from_date and x.to_date and x.from_date >= x.to_date):
|
|
raise ValidationError(_('"From date" must be lower than "To date" on Withholding (AR) taxes.'))
|