summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorNikunj Ladava <nla@odoo.com>2020-04-14 07:00:54 +0000
committerJosse Colpaert <jco@odoo.com>2020-08-17 14:11:07 +0000
commit34c4752eeafc33bd88e18c7f0408dfda17dfa8d8 (patch)
tree7b99dad3a2bd16d1bc3b41a61005e77798765d00 /addons
parent9cf8da90d5ba1ed4ee924659dea1bd4313dcc3c6 (diff)
[IMP] base_vat: remove simple check vat for co
- removed simple check vat for columbia - removed document type field from partner - document type will be managed by latam type - updated city name for colombia - added data for for latam identification type - Added depdencies - base_address_city - account_debit_note - l10n_latam_base task- 2190843 closes odoo/odoo#53040 Related: odoo/upgrade#1589 Related: odoo/enterprise#9567 Signed-off-by: Josse Colpaert <jco@openerp.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/base_vat/models/res_partner.py20
-rw-r--r--addons/l10n_co/__manifest__.py5
-rw-r--r--addons/l10n_co/data/l10n_latam.identification.type.csv11
-rw-r--r--addons/l10n_co/models/__init__.py1
-rw-r--r--addons/l10n_co/models/l10n_latam_identification_type.py8
-rw-r--r--addons/l10n_co/models/res_partner.py18
-rw-r--r--addons/l10n_co/views/res_partner.xml13
7 files changed, 27 insertions, 49 deletions
diff --git a/addons/base_vat/models/res_partner.py b/addons/base_vat/models/res_partner.py
index 3c549301b59..25b9ddb0835 100644
--- a/addons/base_vat/models/res_partner.py
+++ b/addons/base_vat/models/res_partner.py
@@ -223,26 +223,6 @@ class ResPartner(models.Model):
checksum = extra + sum((8-i) * int(x) for i, x in enumerate(vat[:7]))
return 'WABCDEFGHIJKLMNOPQRSTUV'[checksum % 23]
- def check_vat_co(self, rut):
- '''
- Check Colombian RUT number.
- Method copied from vatnumber 1.2 lib https://code.google.com/archive/p/vatnumber/
- '''
- if len(rut) != 10:
- return False
- try:
- int(rut)
- except ValueError:
- return False
- nums = [3, 7, 13, 17, 19, 23, 29, 37, 41, 43, 47, 53, 59, 67, 71]
- sum = 0
- for i in range(len(rut) - 2, -1, -1):
- sum += int(rut[i]) * nums[len(rut) - 2 - i]
- if sum % 11 > 1:
- return int(rut[-1]) == 11 - (sum % 11)
- else:
- return int(rut[-1]) == sum % 11
-
def check_vat_ie(self, vat):
""" Temporary Ireland VAT validation to support the new format
introduced in January 2013 in Ireland, until upstream is fixed.
diff --git a/addons/l10n_co/__manifest__.py b/addons/l10n_co/__manifest__.py
index e555fc10e33..0fdcf97b925 100644
--- a/addons/l10n_co/__manifest__.py
+++ b/addons/l10n_co/__manifest__.py
@@ -17,6 +17,9 @@
'website': 'https://xoe.solutions',
'depends': [
'account',
+ 'base_address_city',
+ 'account_debit_note',
+ 'l10n_latam_base',
],
'data': [
'data/l10n_co_chart_data.xml',
@@ -25,7 +28,7 @@
'data/account.tax.group.csv',
'data/account_tax_template.xml',
'data/account_chart_template_configure_data.xml',
- 'views/res_partner.xml',
+ 'data/l10n_latam.identification.type.csv',
],
'demo': [
'demo/demo_company.xml',
diff --git a/addons/l10n_co/data/l10n_latam.identification.type.csv b/addons/l10n_co/data/l10n_latam.identification.type.csv
new file mode 100644
index 00000000000..4db9adaf590
--- /dev/null
+++ b/addons/l10n_co/data/l10n_latam.identification.type.csv
@@ -0,0 +1,11 @@
+id,name,l10n_co_document_code,country_id:id,is_vat,sequence
+rut,NIT,rut,base.co,TRUE,1
+national_citizen_id,Cédula de ciudadanía,national_citizen_id,base.co,FALSE,2
+external_id,ID del Exterior,external_id,base.co,FALSE,3
+foreign_id_card,Cédula Extranjera,foreign_id_card,base.co,FALSE,4
+passport,Pasaporte,passport,base.co,FALSE,5
+id_card,Tarjeta de Identidad,id_card,base.co,FALSE,6
+civil_registration,Registro Civil,civil_registration,base.co,FALSE,7
+diplomatic_card,Carné Diplomatico,diplomatic_card,base.co,FALSE,8
+residence_document,Salvoconducto de Permanencia,residence_document,base.co,FALSE,9
+id_document,Cédula,id_document,base.co,FALSE,10
diff --git a/addons/l10n_co/models/__init__.py b/addons/l10n_co/models/__init__.py
index 99c634c7581..5f31f163723 100644
--- a/addons/l10n_co/models/__init__.py
+++ b/addons/l10n_co/models/__init__.py
@@ -1,4 +1,5 @@
# coding: utf-8
# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from . import l10n_latam_identification_type
from . import res_partner
diff --git a/addons/l10n_co/models/l10n_latam_identification_type.py b/addons/l10n_co/models/l10n_latam_identification_type.py
new file mode 100644
index 00000000000..a860f632aea
--- /dev/null
+++ b/addons/l10n_co/models/l10n_latam_identification_type.py
@@ -0,0 +1,8 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from odoo import models, fields
+
+
+class L10nCoDocumentType(models.Model):
+ _inherit = "l10n_latam.identification.type"
+
+ l10n_co_document_code = fields.Char("Document Code")
diff --git a/addons/l10n_co/models/res_partner.py b/addons/l10n_co/models/res_partner.py
index b26b58d94dd..55d1bdd3037 100644
--- a/addons/l10n_co/models/res_partner.py
+++ b/addons/l10n_co/models/res_partner.py
@@ -1,24 +1,12 @@
# coding: utf-8
# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from odoo import models, api
-from odoo import api, fields, models
class ResPartner(models.Model):
_inherit = 'res.partner'
- l10n_co_document_type = fields.Selection([('rut', 'NIT'),
- ('id_document', 'Cédula'),
- ('id_card', 'Tarjeta de Identidad'),
- ('passport', 'Pasaporte'),
- ('foreign_id_card', 'Cédula Extranjera'),
- ('external_id', 'ID del Exterior'),
- ('diplomatic_card', 'Carné Diplomatico'),
- ('residence_document', 'Salvoconducto de Permanencia'),
- ('civil_registration', 'Registro Civil'),
- ('national_citizen_id', 'Cédula de ciudadanía')], string='Document Type',
- help='Indicates to what document the information in here belongs to.')
-
- @api.constrains('vat', 'country_id', 'l10n_co_document_type')
+ @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
@@ -26,7 +14,7 @@ class ResPartner(models.Model):
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 != self.env.ref('base.co') or\
- partner.l10n_co_document_type == 'rut')
+ partner.l10n_latam_identification_type_id.l10n_co_document_code == 'rut')
return super(ResPartner, self).check_vat()
else:
return True
diff --git a/addons/l10n_co/views/res_partner.xml b/addons/l10n_co/views/res_partner.xml
deleted file mode 100644
index 72232d9b642..00000000000
--- a/addons/l10n_co/views/res_partner.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<odoo>
- <record model="ir.ui.view" id="view_partner_form_inherit_l10n_co">
- <field name="name">res.partner.l10n_co.form</field>
- <field name="model">res.partner</field>
- <field name="inherit_id" ref="base.view_partner_form"/>
- <field name="arch" type="xml">
- <field name="vat" position="before">
- <field name="l10n_co_document_type"/>
- </field>
- </field>
- </record>
-</odoo>