diff options
| author | Ravi Gadhia <rga@odoo.com> | 2016-07-15 10:30:04 +0200 |
|---|---|---|
| committer | Jérome Maes <jem@openerp.com> | 2016-08-04 12:02:14 +0200 |
| commit | fd09ddb6f3c40e9ec5854cc58c7eb791d4498dc0 (patch) | |
| tree | 58e598da9165b3f78a9d35efcc3c9a2167b82a9b /addons/website/wizard/base_language_install.py | |
| parent | 7c20b4785bef5bf2fd84b429d42a2f3425801410 (diff) | |
[MIG] website: migration to new api
Migration of website module to new API.
The tricky phase is ir_http.py : we need to use `request.env`
only when the authenfication phase is done. Normally by
calling `super` of `_dispatch` method, but website module
required it to be done before. This is important since
`env`is a lazy property of `request` object.
Some hack were kept since this commit is a migration ('RequestUID'
in ir.http, ...)
Some docstrings were added.
Diffstat (limited to 'addons/website/wizard/base_language_install.py')
| -rw-r--r-- | addons/website/wizard/base_language_install.py | 40 |
1 files changed, 17 insertions, 23 deletions
diff --git a/addons/website/wizard/base_language_install.py b/addons/website/wizard/base_language_install.py index cc8cd51ae85..1cb850fa605 100644 --- a/addons/website/wizard/base_language_install.py +++ b/addons/website/wizard/base_language_install.py @@ -1,41 +1,35 @@ # -*- encoding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import openerp -from openerp.osv import orm, osv, fields +from odoo import api, fields, models -class base_language_install(osv.osv_memory): +class BaseLanguageInstall(models.TransientModel): + _inherit = "base.language.install" - _columns = { - 'website_ids': fields.many2many('website', string='Websites to translate'), - } - def default_get(self, cr, uid, fields, context=None): - if context is None: - context = {} - defaults = super(base_language_install, self).default_get(cr, uid, fields, context) - website_id = context.get('params', {}).get('website_id') + website_ids = fields.Many2many('website', string='Websites to translate') + + @api.model + def default_get(self, fields): + defaults = super(BaseLanguageInstall, self).default_get(fields) + website_id = self._context.get('params', {}).get('website_id') if website_id: if 'website_ids' not in defaults: defaults['website_ids'] = [] defaults['website_ids'].append(website_id) return defaults - def lang_install(self, cr, uid, ids, context=None): - if context is None: - context = {} - action = super(base_language_install, self).lang_install(cr, uid, ids, context) - language_obj = self.browse(cr, uid, ids)[0] - website_ids = [website.id for website in language_obj['website_ids']] - lang_id = self.pool['res.lang'].search(cr, uid, [('code', '=', language_obj['lang'])]) - if website_ids and lang_id: - data = {'language_ids': [(4, lang_id[0])]} - self.pool['website'].write(cr, uid, website_ids, data) - params = context.get('params', {}) + @api.multi + def lang_install(self): + action = super(BaseLanguageInstall, self).lang_install() + lang = self.env['res.lang'].search([('code', '=', self.lang)], limit=1) + if self.website_ids and lang: + self.website_ids.write({'language_ids': [(4, lang.id)]}) + params = self._context.get('params', {}) if 'url_return' in params: return { - 'url': params['url_return'].replace('[lang]', language_obj['lang']), + 'url': params['url_return'].replace('[lang]', self.lang), 'type': 'ir.actions.act_url', 'target': 'self' } |
