summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authormicael.bergeron <micaelbergeron@gmail.com>2017-11-20 09:02:01 -0500
committermicael.bergeron <micaelbergeron@gmail.com>2017-12-07 09:01:27 -0500
commit3d8fbd12b8f234aa62f4b5ceed21076a7afbcd23 (patch)
tree605b07654f65bb07c34b6d88a77b57f9b4b0b229 /app
parent6b3f0fee151283348b44a69342ec1a6738cd2de0 (diff)
downloadgitlab-ce-3d8fbd12b8f234aa62f4b5ceed21076a7afbcd23.tar.gz
add support for commit (in mr) to reference filter
Diffstat (limited to 'app')
-rw-r--r--app/controllers/concerns/renders_notes.rb11
-rw-r--r--app/models/merge_request.rb9
-rw-r--r--app/models/note.rb4
-rw-r--r--app/views/projects/commits/_commit.html.haml2
4 files changed, 24 insertions, 2 deletions
diff --git a/app/controllers/concerns/renders_notes.rb b/app/controllers/concerns/renders_notes.rb
index 824ad06465c..a35313c917c 100644
--- a/app/controllers/concerns/renders_notes.rb
+++ b/app/controllers/concerns/renders_notes.rb
@@ -3,7 +3,7 @@ module RendersNotes
preload_noteable_for_regular_notes(notes)
preload_max_access_for_authors(notes, @project)
preload_first_time_contribution_for_authors(noteable, notes)
- Notes::RenderService.new(current_user).execute(notes, @project)
+ Notes::RenderService.new(current_user).execute(notes, @project, noteable_context(noteable))
notes
end
@@ -26,4 +26,13 @@ module RendersNotes
notes.each {|n| n.specialize_for_first_contribution!(noteable)}
end
+
+ def noteable_context(noteable)
+ case noteable
+ when MergeRequest
+ { merge_request: noteable }
+ else
+ {}
+ end
+ end
end
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 949d42f865c..d60b9fb6b2d 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -1021,4 +1021,13 @@ class MergeRequest < ActiveRecord::Base
project.merge_requests.merged.where(author_id: author_id).empty?
end
+
+ def banzai_render_context(field)
+ # this will be used to reference these commit in the context of the MR
+ # the URL are built differently
+ {
+ merge_request: self,
+ mr_commit_shas: all_commit_shas
+ }
+ end
end
diff --git a/app/models/note.rb b/app/models/note.rb
index 1357e75d907..fb4a52f8c6e 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -405,6 +405,10 @@ class Note < ActiveRecord::Base
noteable_object&.touch
end
+ def banzai_render_context(field)
+ super.merge(noteable: noteable)
+ end
+
private
def keep_around_commit
diff --git a/app/views/projects/commits/_commit.html.haml b/app/views/projects/commits/_commit.html.haml
index 45b4ef12ec9..8c28becf471 100644
--- a/app/views/projects/commits/_commit.html.haml
+++ b/app/views/projects/commits/_commit.html.haml
@@ -4,7 +4,7 @@
- ref = local_assigns.fetch(:ref) { merge_request&.source_branch }
- link = commit_path(project, commit, merge_request: merge_request)
-- cache_key = [project.full_path, commit.id, current_application_settings, @path.presence, current_controller?(:commits), merge_request.iid, view_details, I18n.locale]
+- cache_key = [project.full_path, commit.id, current_application_settings, @path.presence, current_controller?(:commits), merge_request&.iid, view_details, I18n.locale]
- cache_key.push(commit.status(ref)) if commit.status(ref)
= cache(cache_key, expires_in: 1.day) do