Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
8b2b0f6b92a7
Commit
4492437d
authored
Sep 28, 2018
by
Jarka Košanová
Browse files
Add checks to InterpretService conditions
parent
e46825deaf09
Changes
1
Hide whitespace changes
Inline
Side-by-side
app/services/quick_actions/interpret_service.rb
View file @
8b2b0f6b
...
...
@@ -210,9 +210,14 @@ def extractor
end
params
'~label1 ~"label 2"'
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
current_user
.
can?
(
:"admin_
#{
issuable
.
to_ability_name
}
"
,
project
)
&&
project
&&
current_user
.
can?
(
:"admin_
#{
issuable
.
to_ability_name
}
"
,
project
)
&&
available_labels
.
any?
end
command
:label
do
|
labels_param
|
...
...
@@ -286,7 +291,8 @@ def extractor
end
params
'#issue | !merge_request'
condition
do
current_user
.
can?
(
:"update_
#{
issuable
.
to_ability_name
}
"
,
issuable
)
[
MergeRequest
,
Issue
].
include?
(
issuable
.
class
)
&&
current_user
.
can?
(
:"update_
#{
issuable
.
to_ability_name
}
"
,
issuable
)
end
parse_params
do
|
issuable_param
|
extract_references
(
issuable_param
,
:issue
).
first
||
...
...
@@ -443,7 +449,8 @@ def extractor
end
params
'<time(1h30m | -1h30m)> <date(YYYY-MM-DD)>'
condition
do
current_user
.
can?
(
:"admin_
#{
issuable
.
to_ability_name
}
"
,
issuable
)
issuable
.
is_a?
(
TimeTrackable
)
&&
current_user
.
can?
(
:"admin_
#{
issuable
.
to_ability_name
}
"
,
issuable
)
end
parse_params
do
|
raw_time_date
|
Gitlab
::
QuickActions
::
SpendTimeAndDateSeparator
.
new
(
raw_time_date
).
execute
...
...
@@ -493,7 +500,7 @@ def extractor
desc
"Lock the discussion"
explanation
"Locks the discussion"
condition
do
issuable
.
is_a
?
(
I
ssuable
)
&&
[
MergeRequest
,
Issue
].
include
?
(
i
ssuable
.
class
)
&&
issuable
.
persisted?
&&
!
issuable
.
discussion_locked?
&&
current_user
.
can?
(
:"admin_
#{
issuable
.
to_ability_name
}
"
,
issuable
)
...
...
@@ -505,7 +512,7 @@ def extractor
desc
"Unlock the discussion"
explanation
"Unlocks the discussion"
condition
do
issuable
.
is_a
?
(
I
ssuable
)
&&
[
MergeRequest
,
Issue
].
include
?
(
i
ssuable
.
class
)
&&
issuable
.
persisted?
&&
issuable
.
discussion_locked?
&&
current_user
.
can?
(
:"admin_
#{
issuable
.
to_ability_name
}
"
,
issuable
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment