diff options
author | Achilleas Pipinellis <axilleas@axilleas.me> | 2016-03-18 14:31:33 +0200 |
---|---|---|
committer | Achilleas Pipinellis <axilleas@axilleas.me> | 2016-03-18 14:31:33 +0200 |
commit | 4d3e8ceea562683a8ee3a87a45ece6c476558446 (patch) | |
tree | a83c195a72ac7e32edb4888e733792302c13505f /app/controllers/sent_notifications_controller.rb | |
parent | 11dda8db29a4843026464c0a61f65ada20646e3b (diff) | |
parent | dadd28e317ace1e3d3a2a02926eb352832b97f08 (diff) | |
download | gitlab-ce-4d3e8ceea562683a8ee3a87a45ece6c476558446.tar.gz |
Merge branch 'master' into docs_select_version_to_install
Diffstat (limited to 'app/controllers/sent_notifications_controller.rb')
-rw-r--r-- | app/controllers/sent_notifications_controller.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/controllers/sent_notifications_controller.rb b/app/controllers/sent_notifications_controller.rb new file mode 100644 index 00000000000..7271c933b9b --- /dev/null +++ b/app/controllers/sent_notifications_controller.rb @@ -0,0 +1,25 @@ +class SentNotificationsController < ApplicationController + skip_before_action :authenticate_user! + + def unsubscribe + @sent_notification = SentNotification.for(params[:id]) + return render_404 unless @sent_notification && @sent_notification.unsubscribable? + + noteable = @sent_notification.noteable + noteable.unsubscribe(@sent_notification.recipient) + + flash[:notice] = "You have been unsubscribed from this thread." + if current_user + case noteable + when Issue + redirect_to issue_path(noteable) + when MergeRequest + redirect_to merge_request_path(noteable) + else + redirect_to root_path + end + else + redirect_to new_user_session_path + end + end +end |