diff --git a/addons/website/models/website.py b/addons/website/models/website.py index 26421f2af6d..089067cd86d 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -346,3 +346,28 @@ class res_partner(osv.osv): 'q': '%s, %s %s, %s' % (partner.street, partner.city, partner.zip, partner.country_id and partner.country_id.name_get()[0][1] or ''), } return urlplus('https://maps.google.be/maps' , params) + +class base_language_install(osv.osv): + _inherit = "base.language.install" + _columns = { + 'website_ids': fields.many2many('website', string='Websites to translate'), + } + + 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', {}) + if 'url_return' in params: + return { + 'url': params['url_return'].replace('[lang]', language_obj['lang']), + 'type': 'ir.actions.act_url', + 'target': 'self' + } + return action diff --git a/addons/website/views/views.xml b/addons/website/views/views.xml index 40445daa6da..68a184993b7 100644 --- a/addons/website/views/views.xml +++ b/addons/website/views/views.xml @@ -84,7 +84,8 @@