]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/notes_controller.rb
Merge remote-tracking branch 'upstream/pull/5405'
[rails.git] / app / controllers / api / notes_controller.rb
index be36421d943baf40b0ea2cd8553a1752a2ec323a..7e2e7fb793babed86952313cc1d0703043d2f760 100644 (file)
@@ -7,7 +7,6 @@ module Api
     authorize_resource
 
     before_action :set_locale
     authorize_resource
 
     before_action :set_locale
-    around_action :api_call_handle_error, :api_call_timeout
     before_action :set_request_formats, :except => [:feed]
 
     ##
     before_action :set_request_formats, :except => [:feed]
 
     ##
@@ -385,7 +384,7 @@ module Api
     def add_comment(note, text, event, notify: true)
       attributes = { :visible => true, :event => event, :body => text }
 
     def add_comment(note, text, event, notify: true)
       attributes = { :visible => true, :event => event, :body => text }
 
-      if doorkeeper_token || current_token
+      if doorkeeper_token
         author = current_user if scope_enabled?(:write_notes)
       else
         author = current_user
         author = current_user if scope_enabled?(:write_notes)
       else
         author = current_user
@@ -399,9 +398,13 @@ module Api
 
       comment = note.comments.create!(attributes)
 
 
       comment = note.comments.create!(attributes)
 
-      note.comments.map(&:author).uniq.each do |user|
-        UserMailer.note_comment_notification(comment, user).deliver_later if notify && user && user != current_user && user.visible?
+      if notify
+        note.subscribers.visible.each do |user|
+          UserMailer.note_comment_notification(comment, user).deliver_later if current_user != user
+        end
       end
       end
+
+      NoteSubscription.find_or_create_by(:note => note, :user => current_user) if current_user
     end
   end
 end
     end
   end
 end