diff --git a/addons/mass_mailing/controllers/main.py b/addons/mass_mailing/controllers/main.py index 50ce0868d93..5eed0e38615 100644 --- a/addons/mass_mailing/controllers/main.py +++ b/addons/mass_mailing/controllers/main.py @@ -67,7 +67,8 @@ class MassMailController(http.Controller): contact_ids = Contacts.search(cr, SUPERUSER_ID, [('list_id', '=', int(list_id)), ('email', '=', email)], context=context) if not contact_ids: - Contacts.name_create(cr, SUPERUSER_ID, email, context=context) + contact_ng = Contacts.name_create(cr, SUPERUSER_ID, email, context=context) + Contacts.write(cr, SUPERUSER_ID, [contact_ng[0]], {'list_id': int(list_id)}, context=context) # add email to session request.session['mass_mailing_email'] = email return True diff --git a/addons/mass_mailing/static/src/js/website_mass_mailing.js b/addons/mass_mailing/static/src/js/website_mass_mailing.js index 5776fadfb3f..2b636aec056 100644 --- a/addons/mass_mailing/static/src/js/website_mass_mailing.js +++ b/addons/mass_mailing/static/src/js/website_mass_mailing.js @@ -18,9 +18,12 @@ .attr("disabled", data.is_subscriber && data.email.length ? "disabled" : false); self.$target.attr("data-subscribe", data.is_subscriber ? 'on' : 'off'); self.$target.find('a.js_subscribe_btn') - .val(data.email ? data.email : "") .attr("disabled", data.is_subscriber && data.email.length ? "disabled" : false); self.$target.removeClass("hidden"); + if (data.is_subscriber) { + self.$target.find('.js_subscribe_btn').addClass('hidden'); + self.$target.find('.js_subscribed_btn').removeClass('hidden'); + } }); // not if editable mode to allow designer to edit alert field diff --git a/addons/mass_mailing/views/snippets.xml b/addons/mass_mailing/views/snippets.xml index cefe2e7bdfd..e05e680206f 100644 --- a/addons/mass_mailing/views/snippets.xml +++ b/addons/mass_mailing/views/snippets.xml @@ -20,6 +20,7 @@ placeholder="your email..."/> Subscribe +