X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/49fac49f9d6a3d49c2cd56b605ee1ba9323dffb6..e2e61692ea04fc156221082aeddc21ea18facdec:/app/controllers/api/changesets_controller.rb diff --git a/app/controllers/api/changesets_controller.rb b/app/controllers/api/changesets_controller.rb index 517cff473..891e2175b 100644 --- a/app/controllers/api/changesets_controller.rb +++ b/app/controllers/api/changesets_controller.rb @@ -4,13 +4,13 @@ module Api class ChangesetsController < ApiController include QueryMethods - before_action :check_api_writable, :only => [:create, :update, :upload, :subscribe, :unsubscribe] + before_action :check_api_writable, :only => [:create, :update, :upload] before_action :setup_user_auth, :only => [:show] - before_action :authorize, :only => [:create, :update, :upload, :close, :subscribe, :unsubscribe] + before_action :authorize, :only => [:create, :update, :upload, :close] authorize_resource - before_action :require_public_data, :only => [:create, :update, :upload, :close, :subscribe, :unsubscribe] + before_action :require_public_data, :only => [:create, :update, :upload, :close] before_action :set_request_formats, :except => [:create, :close, :upload] skip_around_action :api_call_timeout, :only => [:upload] @@ -63,7 +63,7 @@ module Api @changeset = Changeset.find(params[:id]) if params[:include_discussion].presence @comments = @changeset.comments - @comments = @comments.unscope(:where => :visible) if params[:show_hidden_comments].presence && can?(:restore, ChangesetComment) + @comments = @comments.unscope(:where => :visible) if params[:show_hidden_comments].presence && can?(:create, :changeset_comment_visibility) @comments = @comments.includes(:author) end @@ -82,7 +82,7 @@ module Api cs.save_with_tags! # Subscribe user to changeset comments - cs.subscribe(current_user) + cs.subscribers << current_user render :plain => cs.id.to_s end @@ -152,58 +152,6 @@ module Api end end - ## - # Adds a subscriber to the changeset - def subscribe - # Check the arguments are sane - raise OSM::APIBadUserInput, "No id was given" unless params[:id] - - # Extract the arguments - id = params[:id].to_i - - # Find the changeset and check it is valid - changeset = Changeset.find(id) - raise OSM::APIChangesetAlreadySubscribedError, changeset if changeset.subscribed?(current_user) - - # Add the subscriber - changeset.subscribe(current_user) - - # Return a copy of the updated changeset - @changeset = changeset - render "show" - - respond_to do |format| - format.xml - format.json - end - end - - ## - # Removes a subscriber from the changeset - def unsubscribe - # Check the arguments are sane - raise OSM::APIBadUserInput, "No id was given" unless params[:id] - - # Extract the arguments - id = params[:id].to_i - - # Find the changeset and check it is valid - changeset = Changeset.find(id) - raise OSM::APIChangesetNotSubscribedError, changeset unless changeset.subscribed?(current_user) - - # Remove the subscriber - changeset.unsubscribe(current_user) - - # Return a copy of the updated changeset - @changeset = changeset - render "show" - - respond_to do |format| - format.xml - format.json - end - end - private #------------------------------------------------------------