From 1b67affe7d99c07272b614788e6df2aeb3a172a3 Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Thu, 22 Oct 2020 16:17:26 +0000 Subject: [PATCH] [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#60558 X-original-commit: 037012bc4e2935eb00a7f353529bb7ec55066733 Related: odoo/enterprise#14347 Signed-off-by: Victor Feyens (vfe) --- .../l10n_ar/models/account_chart_template.py | 6 ++--- .../l10n_ar/models/account_fiscal_position.py | 4 ++-- addons/l10n_ar/models/account_journal.py | 4 ++-- addons/l10n_ar/models/account_move.py | 16 +++++++------- .../models/l10n_latam_document_type.py | 4 ++-- addons/l10n_ar/models/res_company.py | 4 ++-- .../l10n_be/models/account_chart_template.py | 2 +- addons/l10n_ch/__init__.py | 3 +-- addons/l10n_cl/models/account_move.py | 22 +++++++++---------- .../models/l10n_latam_document_type.py | 2 +- addons/l10n_cl/models/res_company.py | 2 +- addons/l10n_cl/models/res_partner.py | 9 ++++---- addons/l10n_co/models/res_partner.py | 2 +- .../l10n_fr/models/account_chart_template.py | 2 +- addons/l10n_fr/models/l10n_fr.py | 2 +- .../l10n_lu/models/account_chart_template.py | 2 +- addons/l10n_mx/models/account.py | 4 ++-- addons/l10n_se/models/res_company.py | 2 +- 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 a322e5c5e7d..c4c280b93d2 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 @@ -19,7 +19,7 @@ class AccountChartTemplate(models.Model): def _prepare_all_journals(self, acc_template_ref, company, journals_dict=None): """ In case of an Argentinean CoA, we modify the default values of the 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({ @@ -57,7 +57,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 argentinean 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 0dceff282ba..9633a84793e 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 d08df6f048a..a57867de224 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): """ Argentinean 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): """ Argentinean 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:]