diff options
author | Mehdi Lahmam <mehdi@lahmam.com> | 2017-11-05 23:52:39 +0100 |
---|---|---|
committer | Mehdi Lahmam <mehdi@lahmam.com> | 2018-09-06 22:39:19 +0200 |
commit | 60bf55456edb3e06ba57dd1da20dffb5d0bfead7 (patch) | |
tree | 4e940c7ed408d04000cdf7b00b6c64a5e5159076 /app/services/quick_actions | |
parent | 051007498d553d16172120b2ab7a79d0f244545c (diff) | |
download | gitlab-ce-60bf55456edb3e06ba57dd1da20dffb5d0bfead7.tar.gz |
Add /lock and /unlock quick actions
Closes #39173
Diffstat (limited to 'app/services/quick_actions')
-rw-r--r-- | app/services/quick_actions/interpret_service.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/services/quick_actions/interpret_service.rb b/app/services/quick_actions/interpret_service.rb index a4c4c9e4812..be9d1e48435 100644 --- a/app/services/quick_actions/interpret_service.rb +++ b/app/services/quick_actions/interpret_service.rb @@ -489,6 +489,30 @@ module QuickActions "#{comment} #{TABLEFLIP}" end + desc "Lock the discussion" + explanation "Locks the discussion" + condition do + issuable.is_a?(Issuable) && + issuable.persisted? && + !issuable.discussion_locked? && + current_user.can?(:"admin_#{issuable.to_ability_name}", issuable) + end + command :lock do + @updates[:discussion_locked] = true + end + + desc "Unlock the discussion" + explanation "Unlocks the discussion" + condition do + issuable.is_a?(Issuable) && + issuable.persisted? && + issuable.discussion_locked? && + current_user.can?(:"admin_#{issuable.to_ability_name}", issuable) + end + command :unlock do + @updates[:discussion_locked] = false + end + # This is a dummy command, so that it appears in the autocomplete commands desc 'CC' params '@user' |