Commit 07c3778a authored by Jarka Košanová's avatar Jarka Košanová

Add checks to InterpretService conditions

parent e8e1a51a
...@@ -210,8 +210,13 @@ module QuickActions ...@@ -210,8 +210,13 @@ module QuickActions
end end
params '~label1 ~"label 2"' params '~label1 ~"label 2"'
condition do condition do
available_labels = LabelsFinder.new(current_user, project_id: project.id, include_ancestor_groups: true).execute if project
available_labels = LabelsFinder
.new(current_user, project_id: project.id, include_ancestor_groups: true)
.execute
end
project &&
current_user.can?(:"admin_#{issuable.to_ability_name}", project) && current_user.can?(:"admin_#{issuable.to_ability_name}", project) &&
available_labels.any? available_labels.any?
end end
...@@ -286,6 +291,7 @@ module QuickActions ...@@ -286,6 +291,7 @@ module QuickActions
end end
params '#issue | !merge_request' params '#issue | !merge_request'
condition do condition do
[MergeRequest, Issue].include?(issuable.class) &&
current_user.can?(:"update_#{issuable.to_ability_name}", issuable) current_user.can?(:"update_#{issuable.to_ability_name}", issuable)
end end
parse_params do |issuable_param| parse_params do |issuable_param|
...@@ -443,6 +449,7 @@ module QuickActions ...@@ -443,6 +449,7 @@ module QuickActions
end end
params '<time(1h30m | -1h30m)> <date(YYYY-MM-DD)>' params '<time(1h30m | -1h30m)> <date(YYYY-MM-DD)>'
condition do condition do
issuable.is_a?(TimeTrackable) &&
current_user.can?(:"admin_#{issuable.to_ability_name}", issuable) current_user.can?(:"admin_#{issuable.to_ability_name}", issuable)
end end
parse_params do |raw_time_date| parse_params do |raw_time_date|
...@@ -493,7 +500,7 @@ module QuickActions ...@@ -493,7 +500,7 @@ module QuickActions
desc "Lock the discussion" desc "Lock the discussion"
explanation "Locks the discussion" explanation "Locks the discussion"
condition do condition do
issuable.is_a?(Issuable) && [MergeRequest, Issue].include?(issuable.class) &&
issuable.persisted? && issuable.persisted? &&
!issuable.discussion_locked? && !issuable.discussion_locked? &&
current_user.can?(:"admin_#{issuable.to_ability_name}", issuable) current_user.can?(:"admin_#{issuable.to_ability_name}", issuable)
...@@ -505,7 +512,7 @@ module QuickActions ...@@ -505,7 +512,7 @@ module QuickActions
desc "Unlock the discussion" desc "Unlock the discussion"
explanation "Unlocks the discussion" explanation "Unlocks the discussion"
condition do condition do
issuable.is_a?(Issuable) && [MergeRequest, Issue].include?(issuable.class) &&
issuable.persisted? && issuable.persisted? &&
issuable.discussion_locked? && issuable.discussion_locked? &&
current_user.can?(:"admin_#{issuable.to_ability_name}", issuable) current_user.can?(:"admin_#{issuable.to_ability_name}", issuable)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment