# Find the note and check it is valid
@note = Note.find_by_id(id)
raise OSM::APINotFoundError unless @note
- raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible?
- raise OSM::APINoteAlreadyOpenError.new(@note) unless @note.closed?
+ raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? or @user.moderator?
+ raise OSM::APINoteAlreadyOpenError.new(@note) unless @note.closed? or not @note.visible?
# Reopen the note and add a comment
Note.transaction do
##
# Get the maximum number of results to return
def result_limit
- if params[:limit] and params[:limit].to_i > 0 and params[:limit].to_i < 10000
- params[:limit].to_i
+ if params[:limit]
+ if params[:limit].to_i > 0 and params[:limit].to_i < 10000
+ params[:limit].to_i
+ else
+ raise OSM::APIBadUserInput.new("Note limit must be between 1 and 9999")
+ end
else
100
end