Odoo18-Base/addons/l10n_rs_edi/models/res_partner.py

32 lines
1.4 KiB
Python

from odoo import api, models, fields, _
from odoo.exceptions import ValidationError
class ResPartner(models.Model):
_inherit = 'res.partner'
l10n_rs_edi_registration_number = fields.Char(
string="Registration Number",
help="Company ID ( Matični Broj ) assigned by the Serbian Business Registers Agency (APR) ",
size=13,
)
l10n_rs_edi_public_funds = fields.Char(
string="JBKJS",
help="Unique Identifier of Public Funds Users such as Government agencies, public institutions and state-owned enterprises.",
size=5,
)
@api.constrains('l10n_rs_edi_public_funds')
def _check_l10n_rs_edi_public_funds(self):
for record in self:
if record.l10n_rs_edi_public_funds and \
(len(record.l10n_rs_edi_public_funds) < 5 or not record.l10n_rs_edi_public_funds.isdigit()):
raise ValidationError(_('Public Funds ID(JBKJS) must be exactly five digits'))
@api.constrains('l10n_rs_edi_registration_number')
def _check_l10n_rs_edi_registration_number(self):
for record in self:
if record.l10n_rs_edi_registration_number and \
(len(record.l10n_rs_edi_registration_number) not in [8, 13] or not record.l10n_rs_edi_registration_number.isdigit()):
raise ValidationError(_('Customer identification number should be 8 or 13 digits'))