Odoo18-Base/addons/l10n_ar_withholding/models/l10n_ar_partner_tax.py
2025-01-06 10:57:38 +07:00

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.'))