X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/17bc0853a05cc392c335cc8637e901fa33dd75bd..605d7a5f694ca2e3310f65267c50f20d2a7ee5cd:/app/controllers/api/notes_controller.rb diff --git a/app/controllers/api/notes_controller.rb b/app/controllers/api/notes_controller.rb index 3352c1f69..eca0728b6 100644 --- a/app/controllers/api/notes_controller.rb +++ b/app/controllers/api/notes_controller.rb @@ -7,7 +7,6 @@ module Api authorize_resource before_action :set_locale - around_action :api_call_handle_error, :api_call_timeout before_action :set_request_formats, :except => [:feed] ## @@ -385,11 +384,7 @@ module Api def add_comment(note, text, event, notify: true) attributes = { :visible => true, :event => event, :body => text } - if doorkeeper_token - author = current_user if scope_enabled?(:write_notes) - else - author = current_user - end + author = current_user if scope_enabled?(:write_notes) if author attributes[:author_id] = author.id @@ -399,9 +394,13 @@ module Api 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 + + NoteSubscription.find_or_create_by(:note => note, :user => current_user) if current_user end end end