From 88edeeca6a17e48dca203d28c0af9d2ba2d50498 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Tue, 26 Sep 2017 16:20:26 +0200 Subject: [PATCH] [FIX] preventing context.get('lang') The lang in the context can be None or False To avoid similar error as revealed at ede29e6d, correctly retrieve the context --- addons/account/wizard/account_report_common.py | 2 +- addons/base_gengo/wizard/base_gengo_translations.py | 2 +- addons/hr_payroll/models/hr_payroll.py | 4 ++-- addons/website_blog/controllers/main.py | 2 +- addons/website_crm/controllers/main.py | 2 +- addons/website_event/controllers/main.py | 2 +- addons/website_sale/controllers/backend.py | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/account/wizard/account_report_common.py b/addons/account/wizard/account_report_common.py index 97bd1874d25..871c1d7e650 100644 --- a/addons/account/wizard/account_report_common.py +++ b/addons/account/wizard/account_report_common.py @@ -35,5 +35,5 @@ class AccountCommonReport(models.TransientModel): data['model'] = self.env.context.get('active_model', 'ir.ui.menu') data['form'] = self.read(['date_from', 'date_to', 'journal_ids', 'target_move'])[0] used_context = self._build_contexts(data) - data['form']['used_context'] = dict(used_context, lang=self.env.context.get('lang', 'en_US')) + data['form']['used_context'] = dict(used_context, lang=self.env.context.get('lang') or 'en_US') return self._print_report(data) diff --git a/addons/base_gengo/wizard/base_gengo_translations.py b/addons/base_gengo/wizard/base_gengo_translations.py index 9e1f06a264f..de65e9a246b 100644 --- a/addons/base_gengo/wizard/base_gengo_translations.py +++ b/addons/base_gengo/wizard/base_gengo_translations.py @@ -31,7 +31,7 @@ class BaseGengoTranslations(models.TransientModel): res['authorized_credentials'], gengo = self.gengo_authentication() if 'lang_id' in fields: res['lang_id'] = self.env['res.lang'].search([ - ('code', '=', self.env.context.get('lang', 'en_US')) + ('code', '=', self.env.context.get('lang') or 'en_US') ], limit=1).id return res diff --git a/addons/hr_payroll/models/hr_payroll.py b/addons/hr_payroll/models/hr_payroll.py index 6cdf51562fd..becb958c771 100644 --- a/addons/hr_payroll/models/hr_payroll.py +++ b/addons/hr_payroll/models/hr_payroll.py @@ -567,7 +567,7 @@ class HrPayslip(models.Model): return res ttyme = datetime.fromtimestamp(time.mktime(time.strptime(date_from, "%Y-%m-%d"))) employee = self.env['hr.employee'].browse(employee_id) - locale = self.env.context.get('lang', 'en_US') + locale = self.env.context.get('lang') or 'en_US' res['value'].update({ 'name': _('Salary Slip of %s for %s') % (employee.name, tools.ustr(babel.dates.format_date(date=ttyme, format='MMMM-y', locale=locale))), 'company_id': employee.company_id.id, @@ -616,7 +616,7 @@ class HrPayslip(models.Model): date_to = self.date_to ttyme = datetime.fromtimestamp(time.mktime(time.strptime(date_from, "%Y-%m-%d"))) - locale = self.env.context.get('lang', 'en_US') + locale = self.env.context.get('lang') or 'en_US' self.name = _('Salary Slip of %s for %s') % (employee.name, tools.ustr(babel.dates.format_date(date=ttyme, format='MMMM-y', locale=locale))) self.company_id = employee.company_id diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py index 040c9acb589..27c7ff0754d 100644 --- a/addons/website_blog/controllers/main.py +++ b/addons/website_blog/controllers/main.py @@ -35,7 +35,7 @@ class WebsiteBlog(http.Controller): group['date_begin'] = start group['date_end'] = end - locale = request.context.get('lang', 'en_US') + locale = request.context.get('lang') or 'en_US' start = pytz.UTC.localize(fields.Datetime.from_string(start)) tzinfo = pytz.timezone(request.context.get('tz', 'utc') or 'utc') diff --git a/addons/website_crm/controllers/main.py b/addons/website_crm/controllers/main.py index 046b7e53419..d15769100fd 100644 --- a/addons/website_crm/controllers/main.py +++ b/addons/website_crm/controllers/main.py @@ -85,7 +85,7 @@ class WebsiteCrmBackend(WebsiteBackend): leads_graph = [{ '0': d.strftime(DEFAULT_SERVER_DATE_FORMAT) if not previous else (d + timedelta(days=days_between)).strftime(DEFAULT_SERVER_DATE_FORMAT), # Respect read_group format in models.py - '1': daily_leads_dict.get(babel.dates.format_date(d, format='dd MMM yyyy', locale=request.env.context.get('lang', 'en_US')), 0) + '1': daily_leads_dict.get(babel.dates.format_date(d, format='dd MMM yyyy', locale=request.env.context.get('lang') or 'en_US'), 0) } for d in date_list] return leads_graph diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py index ab9ad2376b4..fe260e997f3 100644 --- a/addons/website_event/controllers/main.py +++ b/addons/website_event/controllers/main.py @@ -193,7 +193,7 @@ class WebsiteEventController(http.Controller): def get_formated_date(self, event): start_date = fields.Datetime.from_string(event.date_begin).date() end_date = fields.Datetime.from_string(event.date_end).date() - month = babel.dates.get_month_names('abbreviated', locale=event.env.context.get('lang', 'en_US'))[start_date.month] + month = babel.dates.get_month_names('abbreviated', locale=event.env.context.get('lang') or 'en_US')[start_date.month] return ('%s %s%s') % (month, start_date.strftime("%e"), (end_date != start_date and ("-" + end_date.strftime("%e")) or "")) @http.route('/event/get_country_event_list', type='http', auth='public', website=True) diff --git a/addons/website_sale/controllers/backend.py b/addons/website_sale/controllers/backend.py index 5a7364768eb..e83af5276a1 100644 --- a/addons/website_sale/controllers/backend.py +++ b/addons/website_sale/controllers/backend.py @@ -83,7 +83,7 @@ class WebsiteSaleBackend(WebsiteBackend): sales_graph = [{ '0': d.strftime(DEFAULT_SERVER_DATE_FORMAT) if not previous else (d + timedelta(days=days_between)).strftime(DEFAULT_SERVER_DATE_FORMAT), # Respect read_group format in models.py - '1': daily_sales_dict.get(babel.dates.format_date(d, format='dd MMM yyyy', locale=request.env.context.get('lang', 'en_US')), 0) + '1': daily_sales_dict.get(babel.dates.format_date(d, format='dd MMM yyyy', locale=request.env.context.get('lang') or 'en_US'), 0) } for d in date_list] return sales_graph