Dynamically check `:admin_*` ability in IssuableBaseService
Closes #2092
This commit is contained in:
parent
e496c35fed
commit
b9b2d08638
|
@ -27,8 +27,10 @@ class IssuableBaseService < BaseService
|
|||
old_branch, new_branch)
|
||||
end
|
||||
|
||||
def filter_params
|
||||
unless can?(current_user, :admin_issue, project)
|
||||
def filter_params(issuable_ability_name = :issue)
|
||||
ability = :"admin_#{issuable_ability_name}"
|
||||
|
||||
unless can?(current_user, ability, project)
|
||||
params.delete(:milestone_id)
|
||||
params.delete(:label_ids)
|
||||
params.delete(:assignee_id)
|
||||
|
|
|
@ -10,6 +10,10 @@ module Issues
|
|||
|
||||
private
|
||||
|
||||
def filter_params
|
||||
super(:issue)
|
||||
end
|
||||
|
||||
def execute_hooks(issue, action = 'open')
|
||||
issue_data = hook_data(issue, action)
|
||||
issue.project.execute_hooks(issue_data, :issue_hooks)
|
||||
|
|
|
@ -20,5 +20,11 @@ module MergeRequests
|
|||
merge_request.project.execute_services(merge_data, :merge_request_hooks)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def filter_params
|
||||
super(:merge_request)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue