]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/notes_controller.rb
Check API status before authorizing access
[rails.git] / app / controllers / api / notes_controller.rb
index f480b9706102c9a549bc770b5c7064b6fdaa7253..7454e7f19387ee178c97ce8efb8f751b2bb4972d 100644 (file)
@@ -1,12 +1,12 @@
 module Api
   class NotesController < ApiController
     before_action :check_api_readable
+    before_action :check_api_writable, :only => [:create, :comment, :close, :reopen, :destroy]
     before_action :setup_user_auth, :only => [:create, :comment, :show]
     before_action :authorize, :only => [:close, :reopen, :destroy, :comment]
 
     authorize_resource
 
-    before_action :check_api_writable, :only => [:create, :comment, :close, :reopen, :destroy]
     before_action :set_locale
     around_action :api_call_handle_error, :api_call_timeout
 
@@ -277,16 +277,16 @@ module Api
       # Add any date filter
       if params[:from]
         begin
-          from = Time.parse(params[:from])
+          from = Time.parse(params[:from]).utc
         rescue ArgumentError
           raise OSM::APIBadUserInput, "Date #{params[:from]} is in a wrong format"
         end
 
         begin
           to = if params[:to]
-                 Time.parse(params[:to])
+                 Time.parse(params[:to]).utc
                else
-                 Time.now
+                 Time.now.utc
                end
         rescue ArgumentError
           raise OSM::APIBadUserInput, "Date #{params[:to]} is in a wrong format"
@@ -361,7 +361,7 @@ module Api
       elsif closed_since.positive?
         notes.where(:status => "open")
              .or(notes.where(:status => "closed")
-                      .where(notes.arel_table[:closed_at].gt(Time.now - closed_since.days)))
+                      .where(notes.arel_table[:closed_at].gt(Time.now.utc - closed_since.days)))
       else
         notes.where(:status => "open")
       end