summaryrefslogtreecommitdiff
path: root/app/controllers/concerns/renders_notes.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-03-30 21:06:09 -0600
committerLuke "Jared" Bennett <lbennett@gitlab.com>2017-04-05 17:44:14 +0100
commit21e10888c3fc0fe545c0443cf0e23f593df847a4 (patch)
treec6c89c2ea2c75ffae4529ab4dceb937ce2f6299a /app/controllers/concerns/renders_notes.rb
parentfe26b8af94e8e12a66249e28e34196a4f8b987c4 (diff)
downloadgitlab-ce-21e10888c3fc0fe545c0443cf0e23f593df847a4.tar.gz
Address review comments
Diffstat (limited to 'app/controllers/concerns/renders_notes.rb')
-rw-r--r--app/controllers/concerns/renders_notes.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/app/controllers/concerns/renders_notes.rb b/app/controllers/concerns/renders_notes.rb
new file mode 100644
index 00000000000..dd21066ac13
--- /dev/null
+++ b/app/controllers/concerns/renders_notes.rb
@@ -0,0 +1,20 @@
+module RendersNotes
+ def prepare_notes_for_rendering(notes)
+ preload_noteable_for_regular_notes(notes)
+ preload_max_access_for_authors(notes, @project)
+ Banzai::NoteRenderer.render(notes, @project, current_user)
+
+ notes
+ end
+
+ private
+
+ def preload_max_access_for_authors(notes, project)
+ user_ids = notes.map(&:author_id)
+ project.team.max_member_access_for_user_ids(user_ids)
+ end
+
+ def preload_noteable_for_regular_notes(notes)
+ ActiveRecord::Associations::Preloader.new.preload(notes.reject(&:for_commit?), :noteable)
+ end
+end