diff --git a/addons/mass_mailing/models/mass_mailing.py b/addons/mass_mailing/models/mass_mailing.py index 6e2599da139..8b6bb15ec0b 100644 --- a/addons/mass_mailing/models/mass_mailing.py +++ b/addons/mass_mailing/models/mass_mailing.py @@ -550,7 +550,7 @@ class MassMailing(osv.Model): if not len(ids) == 1: raise ValueError('One and only one ID allowed for this action') mail = self.browse(cr, uid, ids[0], context=context) - url = '/website_mail/email_designer?model=mail.mass_mailing&res_id=%d&template_model=%s&enable_editor=1' % (ids[0], mail.mailing_model) + url = '/website_mail/email_designer?model=mail.mass_mailing&res_id=%d&template_model=%s&return_action=%d&enable_editor=1' % (ids[0], mail.mailing_model, context['params']['action']) return { 'name': _('Open with Visual Editor'), 'type': 'ir.actions.act_url', diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 8baa9a7c52a..69a85d15632 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -381,6 +381,7 @@ instance.web.ActionManager = instance.web.Widget.extend({ search_disable_custom_filters: action.context && action.context.search_disable_custom_filters }); action.menu_id = options.action_menu_id; + action.context.params = _.extend({ 'action' : action.id }, action.context.params); if (!(type in this)) { console.error("Action manager can't handle action of type " + action.type, action); return $.Deferred().reject(); diff --git a/addons/website_mail/controllers/email_designer.py b/addons/website_mail/controllers/email_designer.py index 157b8efa50f..8fc0c89a15b 100644 --- a/addons/website_mail/controllers/email_designer.py +++ b/addons/website_mail/controllers/email_designer.py @@ -45,6 +45,7 @@ class WebsiteEmailDesigner(http.Controller): 'email_from_field': email_from_field, 'subject_field': subject_field, 'body_field': body_field, + 'return_action': kw.get('return_action', ''), } if getattr(record, body_field): diff --git a/addons/website_mail/models/email_template.py b/addons/website_mail/models/email_template.py index aaf8f32cdc1..9a8c56b46fa 100644 --- a/addons/website_mail/models/email_template.py +++ b/addons/website_mail/models/email_template.py @@ -10,7 +10,7 @@ class EmailTemplate(osv.Model): def action_edit_html(self, cr, uid, ids, context=None): if not len(ids) == 1: raise ValueError('One and only one ID allowed for this action') - url = '/website_mail/email_designer?model=email.template&res_id=%d&enable_editor=1' % (ids[0],) + url = '/website_mail/email_designer?model=email.template&res_id=%d&return_action=%d&enable_editor=1' % (ids[0], context['params']['action']) return { 'name': _('Edit Template'), 'type': 'ir.actions.act_url', diff --git a/addons/website_mail/views/website_email_designer.xml b/addons/website_mail/views/website_email_designer.xml index d230d680ba7..070440fd40e 100644 --- a/addons/website_mail/views/website_email_designer.xml +++ b/addons/website_mail/views/website_email_designer.xml @@ -8,7 +8,7 @@
+ t-attf-href="/web#return_label=Website&model=#{model}&id=#{res_id}&view_type=form&action=#{return_action}"> Back

@@ -33,7 +33,7 @@

+ t-attf-href="/web#return_label=Website&model=#{model}&id=#{res_id}&view_type=form&action=#{return_action}"> Back to the mass mailing