You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

35 lines
1.4 KiB

# Copyright 2016 Vauxoo
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import os
from odoo import _, api, models
from odoo.exceptions import ValidationError
class CompanyCountryConfigSettings(models.TransientModel):
_name = 'company.country.config.settings'
_description = 'Company Country Configuration Settings'
@api.model
def load_company_country(self, country_code=None):
if not country_code:
country_code = os.environ.get('COUNTRY')
if country_code == "":
self.env.ref('base.main_company').write({'country_id': None})
return
if not country_code:
l10n_to_install = self.env['ir.module.module'].search([
('state', '=', 'to install'),
('name', '=like', 'l10n_%')], limit=1)
if not l10n_to_install:
raise ValidationError(
_('Error COUNTRY environment variable with country code '
'not defined and no localization found in pool.'))
country_code = l10n_to_install.name.split('l10n_')[1][:2].upper()
country = self.env['res.country'].search([
('code', 'ilike', country_code)], limit=1)
if not country:
raise ValidationError(
_('Country code %s not found. Use ISO 3166 codes 2 letters'))
self.env.ref('base.main_company').write({'country_id': country.id})