Merge branch '12026-use-notes-finder-target-for-epics-ce' into 'master'
Use NotesFinder#target to find Epics See merge request gitlab-org/gitlab-ce!31408
This commit is contained in:
commit
79bff3ee7a
1 changed files with 9 additions and 3 deletions
|
@ -74,14 +74,14 @@ module API
|
|||
end
|
||||
|
||||
def find_noteable(parent_type, parent_id, noteable_type, noteable_id)
|
||||
params = params_by_noteable_type_and_id(noteable_type, noteable_id)
|
||||
params = finder_params_by_noteable_type_and_id(noteable_type, noteable_id, parent_id)
|
||||
|
||||
noteable = NotesFinder.new(current_user, params.merge(project: user_project)).target
|
||||
noteable = NotesFinder.new(current_user, params).target
|
||||
noteable = nil unless can?(current_user, noteable_read_ability_name(noteable), noteable)
|
||||
noteable || not_found!(noteable_type)
|
||||
end
|
||||
|
||||
def params_by_noteable_type_and_id(type, id)
|
||||
def finder_params_by_noteable_type_and_id(type, id, parent_id)
|
||||
target_type = type.name.underscore
|
||||
{ target_type: target_type }.tap do |h|
|
||||
if %w(issue merge_request).include?(target_type)
|
||||
|
@ -89,9 +89,15 @@ module API
|
|||
else
|
||||
h[:target_id] = id
|
||||
end
|
||||
|
||||
add_parent_to_finder_params(h, type, parent_id)
|
||||
end
|
||||
end
|
||||
|
||||
def add_parent_to_finder_params(finder_params, noteable_type, parent_id)
|
||||
finder_params[:project] = user_project
|
||||
end
|
||||
|
||||
def noteable_parent(noteable)
|
||||
public_send("user_#{noteable.class.parent_class.to_s.underscore}") # rubocop:disable GitlabSecurity/PublicSend
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue