diff options
Diffstat (limited to 'app/controllers/projects/notes_controller.rb')
-rw-r--r-- | app/controllers/projects/notes_controller.rb | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/app/controllers/projects/notes_controller.rb b/app/controllers/projects/notes_controller.rb index 15ca080c696..0661fd20946 100644 --- a/app/controllers/projects/notes_controller.rb +++ b/app/controllers/projects/notes_controller.rb @@ -6,13 +6,14 @@ class Projects::NotesController < Projects::ApplicationController before_action :authorize_create_note!, only: [:create] before_action :authorize_admin_note!, only: [:update, :destroy] before_action :authorize_resolve_note!, only: [:resolve, :unresolve] - before_action :find_current_user_notes, only: [:index] def index current_fetched_at = Time.now.to_i notes_json = { notes: [], last_fetched_at: current_fetched_at } + @notes = notes_finder.execute + @notes.each do |note| next if note.cross_reference_not_visible_for?(current_user) @@ -110,6 +111,17 @@ class Projects::NotesController < Projects::ApplicationController ) end + def discussion_html(discussion) + return if discussion.single_note? + + render_to_string( + "discussions/_discussion", + layout: false, + formats: [:html], + locals: { discussion: discussion } + ) + end + def diff_discussion_html(discussion) return unless discussion.diff_discussion? @@ -134,17 +146,6 @@ class Projects::NotesController < Projects::ApplicationController ) end - def discussion_html(discussion) - return unless discussion.diff_discussion? - - render_to_string( - "discussions/_discussion", - layout: false, - formats: [:html], - locals: { discussion: discussion } - ) - end - def note_json(note) attrs = { award: false, @@ -167,9 +168,8 @@ class Projects::NotesController < Projects::ApplicationController note: note.note ) - if note.diff_note? - discussion = note.to_discussion - + discussion = note.to_discussion + unless discussion.single_note? attrs.merge!( diff_discussion_html: diff_discussion_html(discussion), discussion_html: discussion_html(discussion) @@ -212,11 +212,16 @@ class Projects::NotesController < Projects::ApplicationController def note_params params.require(:note).permit( :note, :noteable, :noteable_id, :noteable_type, :project_id, - :attachment, :line_code, :commit_id, :type, :position + :attachment, :line_code, :commit_id, :type, :position, + :in_reply_to_discussion_id, :new_discussion ) end - def find_current_user_notes - @notes = NotesFinder.new.execute(project, current_user, params) + def notes_finder + @notes_finder ||= NotesFinder.new(project, current_user, params) + end + + def target + notes_finder.target end end |