summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Feyens <vfe@odoo.com>2020-09-15 13:55:09 +0000
committerVictor Feyens <vfe@odoo.com>2020-10-22 13:10:54 +0000
commit037012bc4e2935eb00a7f353529bb7ec55066733 (patch)
tree3aa2efc3cfb905e9c15d382e9751cd15bdacc2db
parent4ff9ff09193390d9b39b15046855f94a98ad8409 (diff)
[FIX] *: avoid direct references to countries
Ensure the code works fine even if countries are deleted. Also consider "re"-created countries after deletion, by only considering the country code, not the data reference. This should reduce support requests related to deleted countries, and ease the resolution of such problems by the users themselves. TASK ID - 2368842 closes odoo/odoo#57837 Related: odoo/enterprise#13275 Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
-rw-r--r--addons/l10n_ar/models/account_chart_template.py6
-rw-r--r--addons/l10n_ar/models/account_fiscal_position.py4
-rw-r--r--addons/l10n_ar/models/account_journal.py4
-rw-r--r--addons/l10n_ar/models/account_move.py16
-rw-r--r--addons/l10n_ar/models/l10n_latam_document_type.py4
-rw-r--r--addons/l10n_ar/models/res_company.py4
-rw-r--r--addons/l10n_be/models/account_chart_template.py2
-rw-r--r--addons/l10n_ch/__init__.py3
-rw-r--r--addons/l10n_cl/models/account_move.py22
-rw-r--r--addons/l10n_cl/models/l10n_latam_document_type.py2
-rw-r--r--addons/l10n_cl/models/res_company.py2
-rw-r--r--addons/l10n_cl/models/res_partner.py9
-rw-r--r--addons/l10n_co/models/res_partner.py2
-rw-r--r--addons/l10n_fr/models/account_chart_template.py2
-rw-r--r--addons/l10n_fr/models/l10n_fr.py2
-rw-r--r--addons/l10n_lu/models/account_chart_template.py2
-rw-r--r--addons/l10n_mx/models/account.py4
-rw-r--r--addons/l10n_se/models/res_company.py2
18 files changed, 45 insertions, 47 deletions
diff --git a/addons/l10n_ar/models/account_chart_template.py b/addons/l10n_ar/models/account_chart_template.py
index 8ce14066993..a53709251a6 100644
--- a/addons/l10n_ar/models/account_chart_template.py
+++ b/addons/l10n_ar/models/account_chart_template.py
@@ -11,7 +11,7 @@ class AccountChartTemplate(models.Model):
def _get_fp_vals(self, company, position):
res = super()._get_fp_vals(company, position)
- if company.country_id == self.env.ref('base.ar'):
+ if company.country_id.code == "AR":
res['l10n_ar_afip_responsibility_type_ids'] = [
(6, False, position.l10n_ar_afip_responsibility_type_ids.ids)]
return res
@@ -20,7 +20,7 @@ class AccountChartTemplate(models.Model):
""" If Argentinian chart, we modify the defaults values of sales journal to be a preprinted journal
"""
res = super()._prepare_all_journals(acc_template_ref, company, journals_dict=journals_dict)
- if company.country_id == self.env.ref('base.ar'):
+ if company.country_id.code == "AR":
for vals in res:
if vals['type'] == 'sale':
vals.update({
@@ -58,7 +58,7 @@ class AccountChartTemplate(models.Model):
company_responsibility = company.l10n_ar_afip_responsibility_type_id
company.write({
'l10n_ar_afip_responsibility_type_id': coa_responsibility.id,
- 'country_id': self.env.ref('base.ar').id,
+ 'country_id': self.env['res.country'].search([('code', '=', 'AR')]).id,
'tax_calculation_rounding_method': 'round_globally',
})
# set CUIT identification type (which is the argentinian vat) in the created company partner instead of
diff --git a/addons/l10n_ar/models/account_fiscal_position.py b/addons/l10n_ar/models/account_fiscal_position.py
index 40875efb53e..3a510335b45 100644
--- a/addons/l10n_ar/models/account_fiscal_position.py
+++ b/addons/l10n_ar/models/account_fiscal_position.py
@@ -15,7 +15,7 @@ class AccountFiscalPosition(models.Model):
def get_fiscal_position(self, partner_id, delivery_id=None):
""" Take into account the partner afip responsibility in order to auto-detect the fiscal position """
company = self.env.company
- if company.country_id == self.env.ref('base.ar'):
+ if company.country_id.code == "AR":
PartnerObj = self.env['res.partner']
partner = PartnerObj.browse(partner_id)
@@ -39,7 +39,7 @@ class AccountFiscalPosition(models.Model):
@api.onchange('l10n_ar_afip_responsibility_type_ids', 'country_group_id', 'country_id', 'zip_from', 'zip_to')
def _onchange_afip_responsibility(self):
- if self.company_id.country_id == self.env.ref('base.ar'):
+ if self.company_id.country_id.code == "AR":
if self.l10n_ar_afip_responsibility_type_ids and any(['country_group_id', 'country_id', 'zip_from', 'zip_to']):
return {'warning': {
'title': _("Warning"),
diff --git a/addons/l10n_ar/models/account_journal.py b/addons/l10n_ar/models/account_journal.py
index 1f30df58cbc..0974ebaa5c6 100644
--- a/addons/l10n_ar/models/account_journal.py
+++ b/addons/l10n_ar/models/account_journal.py
@@ -107,7 +107,7 @@ class AccountJournal(models.Model):
'l10n_latam_use_documents')
def _check_afip_configurations(self):
""" Do not let the user update the journal if it already contains confirmed invoices """
- journals = self.filtered(lambda x: x.company_id.country_id == self.env.ref('base.ar') and x.type in ['sale', 'purchase'])
+ journals = self.filtered(lambda x: x.company_id.country_id.code == "AR" and x.type in ['sale', 'purchase'])
invoices = self.env['account.move'].search([('journal_id', 'in', journals.ids), ('posted_before', '=', True)], limit=1)
if invoices:
raise ValidationError(
@@ -118,7 +118,7 @@ class AccountJournal(models.Model):
def _check_afip_pos_number(self):
to_review = self.filtered(
lambda x: x.type == 'sale' and x.l10n_latam_use_documents and
- x.company_id.country_id == self.env.ref('base.ar'))
+ x.company_id.country_id.code == "AR")
if to_review.filtered(lambda x: x.l10n_ar_afip_pos_number == 0):
raise ValidationError(_('Please define an AFIP POS number'))
diff --git a/addons/l10n_ar/models/account_move.py b/addons/l10n_ar/models/account_move.py
index 970f37f4b92..4928929d63f 100644
--- a/addons/l10n_ar/models/account_move.py
+++ b/addons/l10n_ar/models/account_move.py
@@ -38,7 +38,7 @@ class AccountMove(models.Model):
@api.constrains('move_type', 'journal_id')
def _check_moves_use_documents(self):
""" Do not let to create not invoices entries in journals that use documents """
- not_invoices = self.filtered(lambda x: x.company_id.country_id == self.env.ref('base.ar') and x.journal_id.type in ['sale', 'purchase'] and x.l10n_latam_use_documents and not x.is_invoice())
+ not_invoices = self.filtered(lambda x: x.company_id.country_id.code == "AR" and x.journal_id.type in ['sale', 'purchase'] and x.l10n_latam_use_documents and not x.is_invoice())
if not_invoices:
raise ValidationError(_("The selected Journal can't be used in this transaction, please select one that doesn't use documents as these are just for Invoices."))
@@ -49,7 +49,7 @@ class AccountMove(models.Model):
@api.depends('invoice_line_ids', 'invoice_line_ids.product_id', 'invoice_line_ids.product_id.type', 'journal_id')
def _compute_l10n_ar_afip_concept(self):
- recs_afip = self.filtered(lambda x: x.company_id.country_id == self.env.ref('base.ar') and x.l10n_latam_use_documents)
+ recs_afip = self.filtered(lambda x: x.company_id.country_id.code == "AR" and x.l10n_latam_use_documents)
for rec in recs_afip:
rec.l10n_ar_afip_concept = rec._get_concept()
remaining = self - recs_afip
@@ -77,7 +77,7 @@ class AccountMove(models.Model):
def _get_l10n_latam_documents_domain(self):
self.ensure_one()
domain = super()._get_l10n_latam_documents_domain()
- if self.journal_id.company_id.country_id == self.env.ref('base.ar'):
+ if self.journal_id.company_id.country_id.code == "AR":
letters = self.journal_id._get_journal_letter(counterpart_partner=self.partner_id.commercial_partner_id)
domain += ['|', ('l10n_ar_letter', '=', False), ('l10n_ar_letter', 'in', letters)]
codes = self.journal_id._get_journal_codes()
@@ -113,7 +113,7 @@ class AccountMove(models.Model):
@api.onchange('partner_id')
def _onchange_afip_responsibility(self):
- if self.company_id.country_id == self.env.ref('base.ar') and self.l10n_latam_use_documents and self.partner_id \
+ if self.company_id.country_id.code == 'AR' and self.l10n_latam_use_documents and self.partner_id \
and not self.partner_id.l10n_ar_afip_responsibility_type_id:
return {'warning': {
'title': _('Missing Partner Configuration'),
@@ -124,7 +124,7 @@ class AccountMove(models.Model):
def _onchange_partner_journal(self):
""" This method is used when the invoice is created from the sale or subscription """
expo_journals = ['FEERCEL', 'FEEWS', 'FEERCELP']
- for rec in self.filtered(lambda x: x.company_id.country_id == self.env.ref('base.ar') and x.journal_id.type == 'sale'
+ for rec in self.filtered(lambda x: x.company_id.country_id.code == "AR" and x.journal_id.type == 'sale'
and x.l10n_latam_use_documents and x.partner_id.l10n_ar_afip_responsibility_type_id):
res_code = rec.partner_id.l10n_ar_afip_responsibility_type_id.code
domain = [('company_id', '=', rec.company_id.id), ('l10n_latam_use_documents', '=', True), ('type', '=', 'sale')]
@@ -146,7 +146,7 @@ class AccountMove(models.Model):
raise RedirectWarning(msg, action.id, _('Go to Journals'))
def _post(self, soft=True):
- ar_invoices = self.filtered(lambda x: x.company_id.country_id == self.env.ref('base.ar') and x.l10n_latam_use_documents)
+ ar_invoices = self.filtered(lambda x: x.company_id.country_id.code == "AR" and x.l10n_latam_use_documents)
for rec in ar_invoices:
rec.l10n_ar_afip_responsibility_type_id = rec.commercial_partner_id.l10n_ar_afip_responsibility_type_id.id
if rec.company_id.currency_id == rec.currency_id:
@@ -201,14 +201,14 @@ class AccountMove(models.Model):
def _get_starting_sequence(self):
""" If use documents then will create a new starting sequence using the document type code prefix and the
journal document number with a 8 padding number """
- if self.journal_id.l10n_latam_use_documents and self.env.company.country_id == self.env.ref('base.ar'):
+ if self.journal_id.l10n_latam_use_documents and self.env.company.country_id.code == "AR":
if self.l10n_latam_document_type_id:
return self._get_formatted_sequence()
return super()._get_starting_sequence()
def _get_last_sequence_domain(self, relaxed=False):
where_string, param = super(AccountMove, self)._get_last_sequence_domain(relaxed)
- if self.company_id.country_id == self.env.ref('base.ar') and self.l10n_latam_use_documents:
+ if self.company_id.country_id.code == "AR" and self.l10n_latam_use_documents:
if not self.journal_id.l10n_ar_share_sequences:
where_string += " AND l10n_latam_document_type_id = %(l10n_latam_document_type_id)s"
param['l10n_latam_document_type_id'] = self.l10n_latam_document_type_id.id or 0
diff --git a/addons/l10n_ar/models/l10n_latam_document_type.py b/addons/l10n_ar/models/l10n_latam_document_type.py
index 44f8a1c1971..5e15ad774d9 100644
--- a/addons/l10n_ar/models/l10n_latam_document_type.py
+++ b/addons/l10n_ar/models/l10n_latam_document_type.py
@@ -34,7 +34,7 @@ class L10nLatamDocumentType(models.Model):
def _filter_taxes_included(self, taxes):
""" In argentina we include taxes depending on document letter """
self.ensure_one()
- if self.country_id == self.env.ref('base.ar') and self.l10n_ar_letter in ['B', 'C', 'X', 'R']:
+ if self.country_id.code == "AR" and self.l10n_ar_letter in ['B', 'C', 'X', 'R']:
return taxes.filtered(lambda x: x.tax_group_id.l10n_ar_vat_afip_code)
return super()._filter_taxes_included(taxes)
@@ -44,7 +44,7 @@ class L10nLatamDocumentType(models.Model):
* format the document_number against a pattern and return it
"""
self.ensure_one()
- if self.country_id != self.env.ref('base.ar'):
+ if self.country_id.code != "AR":
return super()._format_document_number(document_number)
if not document_number:
diff --git a/addons/l10n_ar/models/res_company.py b/addons/l10n_ar/models/res_company.py
index 72bd820f979..62fe7563342 100644
--- a/addons/l10n_ar/models/res_company.py
+++ b/addons/l10n_ar/models/res_company.py
@@ -20,7 +20,7 @@ class ResCompany(models.Model):
@api.onchange('country_id')
def onchange_country(self):
""" Argentinian companies use round_globally as tax_calculation_rounding_method """
- for rec in self.filtered(lambda x: x.country_id == self.env.ref('base.ar')):
+ for rec in self.filtered(lambda x: x.country_id.code == "AR"):
rec.tax_calculation_rounding_method = 'round_globally'
@api.depends('l10n_ar_afip_responsibility_type_id')
@@ -33,7 +33,7 @@ class ResCompany(models.Model):
def _localization_use_documents(self):
""" Argentinian localization use documents """
self.ensure_one()
- return True if self.country_id == self.env.ref('base.ar') else super()._localization_use_documents()
+ return True if self.country_id.code == "AR" else super()._localization_use_documents()
@api.constrains('l10n_ar_afip_responsibility_type_id')
def _check_accounting_info(self):
diff --git a/addons/l10n_be/models/account_chart_template.py b/addons/l10n_be/models/account_chart_template.py
index 5c9a24ae3d2..a1bdf04fbf6 100644
--- a/addons/l10n_be/models/account_chart_template.py
+++ b/addons/l10n_be/models/account_chart_template.py
@@ -12,6 +12,6 @@ class AccountChartTemplate(models.Model):
journal_data = super(AccountChartTemplate, self)._prepare_all_journals(
acc_template_ref, company, journals_dict)
for journal in journal_data:
- if journal['type'] in ('sale', 'purchase') and company.country_id == self.env.ref('base.be'):
+ if journal['type'] in ('sale', 'purchase') and company.country_id.code == "BE":
journal.update({'refund_sequence': True})
return journal_data
diff --git a/addons/l10n_ch/__init__.py b/addons/l10n_ch/__init__.py
index 15bb04a1202..45936de37a4 100644
--- a/addons/l10n_ch/__init__.py
+++ b/addons/l10n_ch/__init__.py
@@ -15,8 +15,7 @@ def init_settings(env):
'''If the company is localized in Switzerland, activate the cash rounding by default.
'''
# The cash rounding is activated by default only if the company is localized in Switzerland.
- ch_country = env.ref('base.ch')
- for company in env['res.company'].search([('partner_id.country_id', '=', ch_country.id)]):
+ for company in env['res.company'].search([('partner_id.country_id.code', '=', "CH")]):
res_config_id = env['res.config.settings'].create({
'company_id': company.id,
'group_cash_rounding': True
diff --git a/addons/l10n_cl/models/account_move.py b/addons/l10n_cl/models/account_move.py
index 721c142c0b8..1380871ec56 100644
--- a/addons/l10n_cl/models/account_move.py
+++ b/addons/l10n_cl/models/account_move.py
@@ -18,10 +18,9 @@ class AccountMove(models.Model):
def _get_l10n_latam_documents_domain(self):
self.ensure_one()
domain = super()._get_l10n_latam_documents_domain()
- if (self.journal_id.l10n_latam_use_documents and
- self.journal_id.company_id.country_id == self.env.ref('base.cl')):
+ if self.journal_id.l10n_latam_use_documents and self.journal_id.company_id.country_id.code == "CL":
if self.journal_id.type == 'sale':
- domain = [('country_id', '=', self.env.ref('base.cl').id), ('internal_type', '!=', 'invoice_in')]
+ domain = [('country_id.code', '=', "CL"), ('internal_type', '!=', 'invoice_in')]
if self.company_id.partner_id.l10n_cl_sii_taxpayer_type == '1':
domain += [('code', '!=', '71')] # Companies with VAT Affected doesn't have "Boleta de honorarios Electrónica"
document_type_ids = self.env['l10n_latam.document.type'].search(domain).ids
@@ -39,8 +38,7 @@ class AccountMove(models.Model):
partner_domain += [('code', 'in', ['70', '71', '56', '61'])]
elif self.partner_id.l10n_cl_sii_taxpayer_type == '3':
partner_domain += [('code', 'in', ['35', '38', '39', '41', '56', '61'])]
- elif not self.partner_id.l10n_cl_sii_taxpayer_type or self.partner_id.country_id != self.env.ref(
- 'base.cl') or self.partner_id.l10n_cl_sii_taxpayer_type == '4':
+ elif not self.partner_id.l10n_cl_sii_taxpayer_type or self.partner_id.country_id.code != "CL" or self.partner_id.l10n_cl_sii_taxpayer_type == '4':
partner_domain += [('code', 'in', [])]
document_type_ids = self.env['l10n_latam.document.type'].search(partner_domain).ids
domain = expression.AND([domain, [('id', 'in', document_type_ids)]])
@@ -48,18 +46,18 @@ class AccountMove(models.Model):
def _check_document_types_post(self):
for rec in self.filtered(
- lambda r: r.company_id.country_id == self.env.ref('base.cl') and
+ lambda r: r.company_id.country_id.code == "CL" and
r.journal_id.type in ['sale', 'purchase']):
tax_payer_type = rec.partner_id.l10n_cl_sii_taxpayer_type
vat = rec.partner_id.vat
country_id = rec.partner_id.country_id
latam_document_type_code = rec.l10n_latam_document_type_id.code
- if (not tax_payer_type or not vat) and (country_id == self.env.ref('base.cl') and latam_document_type_code
+ if (not tax_payer_type or not vat) and (country_id.code == "CL" and latam_document_type_code
and latam_document_type_code not in ['35', '38', '39', '41']):
raise ValidationError(_('Tax payer type and vat number are mandatory for this type of '
'document. Please set the current tax payer type of this customer'))
if rec.journal_id.type == 'sale' and rec.journal_id.l10n_latam_use_documents:
- if country_id != self.env.ref('base.cl'):
+ if country_id.code != "CL":
if not ((tax_payer_type == '4' and latam_document_type_code in ['110', '111', '112']) or (
tax_payer_type == '3' and latam_document_type_code in ['39', '41', '61', '56'])):
raise ValidationError(_(
@@ -70,7 +68,7 @@ class AccountMove(models.Model):
raise ValidationError(_('The DIN document is intended to be used only with RUT 60805000-0'
' (Tesorería General de La República)'))
if not tax_payer_type or not vat:
- if country_id == self.env.ref('base.cl') and latam_document_type_code not in [
+ if country_id.code == "CL" and latam_document_type_code not in [
'35', '38', '39', '41']:
raise ValidationError(_('Tax payer type and vat number are mandatory for this type of '
'document. Please set the current tax payer type of this supplier'))
@@ -84,7 +82,7 @@ class AccountMove(models.Model):
if latam_document_type_code in ['110', '111', '112']:
raise ValidationError(_('The tax payer type of this supplier is not entitled to deliver '
'imports documents'))
- if tax_payer_type == '4' or country_id != self.env.ref('base.cl'):
+ if tax_payer_type == '4' or country_id.code != "CL":
raise ValidationError(_('You need a journal without the use of documents for foreign '
'suppliers'))
if rec.journal_id.type == 'purchase' and not rec.journal_id.l10n_latam_use_documents:
@@ -106,14 +104,14 @@ class AccountMove(models.Model):
def _get_starting_sequence(self):
""" If use documents then will create a new starting sequence using the document type code prefix and the
journal document number with a 6 padding number """
- if self.journal_id.l10n_latam_use_documents and self.env.company.country_id == self.env.ref('base.cl'):
+ if self.journal_id.l10n_latam_use_documents and self.env.company.country_id.code == "CL":
if self.l10n_latam_document_type_id:
return self._l10n_cl_get_formatted_sequence()
return super()._get_starting_sequence()
def _get_last_sequence_domain(self, relaxed=False):
where_string, param = super(AccountMove, self)._get_last_sequence_domain(relaxed)
- if self.company_id.country_id == self.env.ref('base.cl') and self.l10n_latam_use_documents:
+ if self.company_id.country_id.code == "CL" and self.l10n_latam_use_documents:
where_string = where_string.replace('journal_id = %(journal_id)s AND', '')
where_string += ' AND l10n_latam_document_type_id = %(l10n_latam_document_type_id)s AND ' \
'company_id = %(company_id)s'
diff --git a/addons/l10n_cl/models/l10n_latam_document_type.py b/addons/l10n_cl/models/l10n_latam_document_type.py
index 0487f035d67..6e5916b9527 100644
--- a/addons/l10n_cl/models/l10n_latam_document_type.py
+++ b/addons/l10n_cl/models/l10n_latam_document_type.py
@@ -21,7 +21,7 @@ class L10nLatamDocumentType(models.Model):
* format the document_number against a pattern and return it
"""
self.ensure_one()
- if self.country_id != self.env.ref('base.cl'):
+ if self.country_id.code != "CL":
return super()._format_document_number(document_number)
if not document_number:
diff --git a/addons/l10n_cl/models/res_company.py b/addons/l10n_cl/models/res_company.py
index 382f24c059f..8821be52e20 100644
--- a/addons/l10n_cl/models/res_company.py
+++ b/addons/l10n_cl/models/res_company.py
@@ -9,4 +9,4 @@ class ResCompany(models.Model):
def _localization_use_documents(self):
""" Chilean localization use documents """
self.ensure_one()
- return self.country_id == self.env.ref('base.cl') or super()._localization_use_documents()
+ return self.country_id.code == "CL" or super()._localization_use_documents()
diff --git a/addons/l10n_cl/models/res_partner.py b/addons/l10n_cl/models/res_partner.py
index 463051628f9..ecef783641e 100644
--- a/addons/l10n_cl/models/res_partner.py
+++ b/addons/l10n_cl/models/res_partner.py
@@ -26,10 +26,11 @@ class ResPartner(models.Model):
def _format_vat_cl(self, values):
identification_types = [self.env.ref('l10n_latam_base.it_vat').id, self.env.ref('l10n_cl.it_RUT').id,
self.env.ref('l10n_cl.it_RUN').id]
- partner_country_is_chile = (values.get('country_id') == self.env.ref('base.cl').id) or (
- values.get('l10n_latam_identification_type_id') and
- self.env['l10n_latam.identification.type'].browse(
- values.get('l10n_latam_identification_type_id')).country_id == self.env.ref('base.cl'))
+ country = self.env["res.country"].browse(values.get('country_id'))
+ identification_type = self.env['l10n_latam.identification.type'].browse(
+ values.get('l10n_latam_identification_type_id')
+ )
+ partner_country_is_chile = country.code == "CL" or identification_type.country_id.code == "CL"
if partner_country_is_chile and \
values.get('l10n_latam_identification_type_id') in identification_types and values.get('vat'):
return stdnum.util.get_cc_module('cl', 'vat').format(values['vat']).replace('.', '').replace(
diff --git a/addons/l10n_co/models/res_partner.py b/addons/l10n_co/models/res_partner.py
index 55d1bdd3037..160eacb73e1 100644
--- a/addons/l10n_co/models/res_partner.py
+++ b/addons/l10n_co/models/res_partner.py
@@ -13,7 +13,7 @@ class ResPartner(models.Model):
# 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 != self.env.ref('base.co') or\
+ 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:
diff --git a/addons/l10n_fr/models/account_chart_template.py b/addons/l10n_fr/models/account_chart_template.py
index 21a35704b99..c71d881785f 100644
--- a/addons/l10n_fr/models/account_chart_template.py
+++ b/addons/l10n_fr/models/account_chart_template.py
@@ -12,6 +12,6 @@ class AccountChartTemplate(models.Model):
journal_data = super(AccountChartTemplate, self)._prepare_all_journals(
acc_template_ref, company, journals_dict)
for journal in journal_data:
- if journal['type'] in ('sale', 'purchase') and company.country_id == self.env.ref('base.fr'):
+ if journal['type'] in ('sale', 'purchase') and company.country_id.code == "FR":
journal.update({'refund_sequence': True})
return journal_data
diff --git a/addons/l10n_fr/models/l10n_fr.py b/addons/l10n_fr/models/l10n_fr.py
index 9d6fee4ef9b..40acbb6fd66 100644
--- a/addons/l10n_fr/models/l10n_fr.py
+++ b/addons/l10n_fr/models/l10n_fr.py
@@ -13,7 +13,7 @@ class ChartTemplate(models.Model):
def _prepare_all_journals(self, acc_template_ref, company, journals_dict=None):
journals = super(ChartTemplate, self)._prepare_all_journals(acc_template_ref, company, journals_dict)
- if company.country_id == self.env.ref('base.fr'):
+ if company.country_id.code == "FR":
#For France, sale/purchase journals must have a dedicated sequence for refunds
for journal in journals:
if journal['type'] in ['sale', 'purchase']:
diff --git a/addons/l10n_lu/models/account_chart_template.py b/addons/l10n_lu/models/account_chart_template.py
index 11d23619c36..2d9b3f4cf45 100644
--- a/addons/l10n_lu/models/account_chart_template.py
+++ b/addons/l10n_lu/models/account_chart_template.py
@@ -12,6 +12,6 @@ class AccountChartTemplate(models.Model):
journal_data = super(AccountChartTemplate, self)._prepare_all_journals(
acc_template_ref, company, journals_dict)
for journal in journal_data:
- if journal['type'] in ('sale', 'purchase') and company.country_id == self.env.ref('base.lu'):
+ if journal['type'] in ('sale', 'purchase') and company.country_id.code == "LU":
journal.update({'refund_sequence': True})
return journal_data
diff --git a/addons/l10n_mx/models/account.py b/addons/l10n_mx/models/account.py
index e7df50dbe0b..c1230969cd2 100644
--- a/addons/l10n_mx/models/account.py
+++ b/addons/l10n_mx/models/account.py
@@ -16,7 +16,7 @@ class AccountJournal(models.Model):
liquidity journal, set the correct tags for the mexican localization.
'''
res = super(AccountJournal, self)._prepare_liquidity_account(name, company, currency_id, type)
- if company.country_id.id == self.env.ref('base.mx').id:
+ if company.country_id.code == "MX":
mx_tags = self.env['account.account'].mx_search_tags(res.get('code', ''))
if mx_tags:
res.update({
@@ -46,7 +46,7 @@ class AccountAccount(models.Model):
@api.onchange('code')
def _onchange_code(self):
- if self.company_id.country_id.id == self.env.ref('base.mx').id and self.code:
+ if self.company_id.country_id.code == "MX" and self.code:
tags = self.mx_search_tags(self.code)
self.tag_ids = tags
diff --git a/addons/l10n_se/models/res_company.py b/addons/l10n_se/models/res_company.py
index 412412e217a..af2ca1872b8 100644
--- a/addons/l10n_se/models/res_company.py
+++ b/addons/l10n_se/models/res_company.py
@@ -13,7 +13,7 @@ class ResCompany(models.Model):
@api.depends('vat')
def _compute_org_number(self):
for company in self:
- if company.country_id == self.env.ref('base.se') and company.vat:
+ if company.country_id.code == "SE" and company.vat:
org_number = re.sub(r'\D', '', company.vat)[:-2]
org_number = org_number[:6] + '-' + org_number[6:]