summaryrefslogtreecommitdiff
path: root/addons/l10n_co/models/res_partner.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/l10n_co/models/res_partner.py
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/l10n_co/models/res_partner.py')
-rw-r--r--addons/l10n_co/models/res_partner.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/addons/l10n_co/models/res_partner.py b/addons/l10n_co/models/res_partner.py
new file mode 100644
index 00000000..160eacb7
--- /dev/null
+++ b/addons/l10n_co/models/res_partner.py
@@ -0,0 +1,20 @@
+# coding: utf-8
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from odoo import models, api
+
+
+class ResPartner(models.Model):
+ _inherit = 'res.partner'
+
+ @api.constrains('vat', 'country_id', 'l10n_latam_identification_type_id')
+ def check_vat(self):
+ # check_vat is implemented by base_vat which this localization
+ # doesn't directly depend on. It is however automatically
+ # installed for Colombia.
+ if self.sudo().env.ref('base.module_base_vat').state == 'installed':
+ # don't check Colombian partners unless they have RUT (= Colombian VAT) set as document type
+ self = self.filtered(lambda partner: partner.country_id.code != "CO" or\
+ partner.l10n_latam_identification_type_id.l10n_co_document_code == 'rut')
+ return super(ResPartner, self).check_vat()
+ else:
+ return True