From 5cfbcc3aff5a28022b397ec7a28ebaca6db43673 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 9 Oct 2013 14:09:04 +0200 Subject: [PATCH] [ADD] Add language from website bzr revid: fme@openerp.com-20131009120904-c06nass3srpwqer4 --- addons/website/models/website.py | 25 +++++++++++++++++++++++++ addons/website/views/views.xml | 12 +++++++++++- addons/website/website_view.xml | 14 ++++++++++++-- 3 files changed, 48 insertions(+), 3 deletions(-) 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 @@
  • Contact us
  • Sign in
  • - +
  • + + + + + + Add a Language + +
  • diff --git a/addons/website/website_view.xml b/addons/website/website_view.xml index fa3b2e67062..1750fb1e7a6 100644 --- a/addons/website/website_view.xml +++ b/addons/website/website_view.xml @@ -55,9 +55,9 @@ - + - + @@ -65,5 +65,15 @@ + + view_base_language_install.inherit + base.language.install + + + + + + +