summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorNicolas Lempereur <nle@odoo.com>2018-06-22 16:18:45 +0200
committerNicolas Lempereur <nle@odoo.com>2018-06-26 11:37:57 +0200
commitfadb3e155e8a9602d62fd2293eaf9f227ce2ec1c (patch)
tree626cb88e4dc65475ec06986763ec8ce28edfc885 /addons
parentf28875b1b709659fc03302667723fd5f465c9efa (diff)
[FIX] addons: no unsubscribe for unsubscribed
The `/groups` route display mail.channel and allow: - a public user to subscribe specifying a mail address - a logged in user to subscribe/unsubscribe itself The `/groups?unsubscribe` route is the same but only allow: - a public user to unsubscribe specifying a mail address - a logged in user to unsubscribe itself When a user is logged in, there is the oddity that all mail.channel appear as to "unsubscribe" even if the user is not subscribed. With this commit, the unsubscribe is shown only if user is subscribed. opw-1861208 closes #25439
Diffstat (limited to 'addons')
-rw-r--r--addons/website_mail_channel/static/src/js/website_mail_channel.snippet.js4
1 files changed, 4 insertions, 0 deletions
diff --git a/addons/website_mail_channel/static/src/js/website_mail_channel.snippet.js b/addons/website_mail_channel/static/src/js/website_mail_channel.snippet.js
index 9daba4bf666..e48cae79df4 100644
--- a/addons/website_mail_channel/static/src/js/website_mail_channel.snippet.js
+++ b/addons/website_mail_channel/static/src/js/website_mail_channel.snippet.js
@@ -8,6 +8,7 @@ sAnimation.registry.follow_alias = sAnimation.Class.extend({
start: function () {
var self = this;
this.is_user = false;
+ var unsubscribePage = window.location.search.slice(1).split('&').indexOf("unsubscribe") >= 0;
this._rpc({
route: '/groups/is_member',
params: {
@@ -19,6 +20,9 @@ sAnimation.registry.follow_alias = sAnimation.Class.extend({
self.is_user = data.is_user;
self.email = data.email;
self.$target.find('.js_mg_link').attr('href', '/groups/' + self.$target.data('id'));
+ if (unsubscribePage && self.is_user) {
+ self.$target.find(".js_mg_follow_form").remove();
+ }
self.toggle_subscription(data.is_member ? 'on' : 'off', data.email);
self.$target.removeClass("hidden");
});