Add unsubscribe link to changeset notification mails
This commit is contained in:
parent
8e21e4e801
commit
f0764d3eca
12 changed files with 227 additions and 4 deletions
|
@ -9,6 +9,7 @@ class ChangesetsController < ApplicationController
|
|||
before_action :authorize_web
|
||||
before_action :set_locale
|
||||
before_action -> { check_database_readable(:need_api => true) }, :only => [:index, :feed]
|
||||
before_action :check_database_writable, :only => [:subscribe, :unsubscribe]
|
||||
|
||||
authorize_resource
|
||||
|
||||
|
@ -74,6 +75,34 @@ class ChangesetsController < ApplicationController
|
|||
index
|
||||
end
|
||||
|
||||
##
|
||||
# subscribe to a changeset
|
||||
def subscribe
|
||||
@changeset = Changeset.find(params[:id])
|
||||
|
||||
if request.post?
|
||||
@changeset.subscribe(current_user) unless @changeset.subscribed?(current_user)
|
||||
|
||||
redirect_to changeset_path(@changeset)
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :action => "no_such_entry", :status => :not_found
|
||||
end
|
||||
|
||||
##
|
||||
# unsubscribe from a changeset
|
||||
def unsubscribe
|
||||
@changeset = Changeset.find(params[:id])
|
||||
|
||||
if request.post?
|
||||
@changeset.unsubscribe(current_user)
|
||||
|
||||
redirect_to changeset_path(@changeset)
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :action => "no_such_entry", :status => :not_found
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
#------------------------------------------------------------
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue