before_action :authorize_web, :only => [:mine]
before_action :setup_user_auth, :only => [:create, :comment, :show]
before_action :authorize, :only => [:close, :reopen, :destroy]
- before_action :require_moderator, :only => [:destroy]
+ before_action :api_deny_access_handler, :except => [:mine]
+
+ authorize_resource
+
before_action :check_api_writable, :only => [:create, :comment, :close, :reopen, :destroy]
- before_action :require_allow_write_notes, :only => [:create, :comment, :close, :reopen, :destroy]
before_action :set_locale
around_action :api_call_handle_error, :api_call_timeout
# Create a new note
def create
# Check the ACLs
- raise OSM::APIAccessDenied if Acl.no_note_comment(request.remote_ip)
+ raise OSM::APIAccessDenied if current_user.nil? && Acl.no_note_comment(request.remote_ip)
# Check the arguments are sane
raise OSM::APIBadUserInput, "No lat was given" unless params[:lat]
# Add a comment to an existing note
def comment
# Check the ACLs
- raise OSM::APIAccessDenied if Acl.no_note_comment(request.remote_ip)
+ raise OSM::APIAccessDenied if current_user.nil? && Acl.no_note_comment(request.remote_ip)
# Check the arguments are sane
raise OSM::APIBadUserInput, "No id was given" unless params[:id]
comment = note.comments.create!(attributes)
note.comments.map(&:author).uniq.each do |user|
- Notifier.note_comment_notification(comment, user).deliver_now if notify && user && user != current_user && user.visible?
+ Notifier.note_comment_notification(comment, user).deliver_later if notify && user && user != current_user && user.visible?
end
end
end