From 459e34c6b81f06d369d045c5f4d3aadb42b96ae2 Mon Sep 17 00:00:00 2001 From: Parthiv Patel Date: Tue, 3 Oct 2023 08:34:26 +0000 Subject: [PATCH] [PATCH] Upstream patch - 03102023 --- addons/auth_password_policy/data/defaults.xml | 4 +++- addons/base_vat/models/res_partner.py | 14 +++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/addons/auth_password_policy/data/defaults.xml b/addons/auth_password_policy/data/defaults.xml index 8538f8c6e0..888fade8af 100644 --- a/addons/auth_password_policy/data/defaults.xml +++ b/addons/auth_password_policy/data/defaults.xml @@ -1,6 +1,8 @@ - + + auth_password_policy.minlength 8 + diff --git a/addons/base_vat/models/res_partner.py b/addons/base_vat/models/res_partner.py index d3860a8a12..77db22a080 100644 --- a/addons/base_vat/models/res_partner.py +++ b/addons/base_vat/models/res_partner.py @@ -77,6 +77,7 @@ _ref_vat = { _region_specific_vat_codes = { 'xi', + 't', } @@ -84,7 +85,14 @@ class ResPartner(models.Model): _inherit = 'res.partner' def _split_vat(self, vat): - vat_country, vat_number = vat[:2].lower(), vat[2:].replace(' ', '') + ''' + Splits the VAT Number to get the country code in a first place and the code itself in a second place. + This has to be done because some countries' code are one character long instead of two (i.e. "T" for Japan) + ''' + if vat[1].isalpha(): + vat_country, vat_number = vat[:2].lower(), vat[2:].replace(' ', '') + else: + vat_country, vat_number = vat[:1].lower(), vat[1:].replace(' ', '') return vat_country, vat_number @api.model @@ -602,6 +610,10 @@ class ResPartner(models.Model): return len(vat) == 11 and vat.isdigit() return check_func(vat) + def check_vat_t(self, vat): + if self.country_id.code == 'JP': + return self.simple_vat_check('jp', vat) + def format_vat_eu(self, vat): # Foreign companies that trade with non-enterprises in the EU # may have a VATIN starting with "EU" instead of a country code.