diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-30 06:07:44 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-30 06:07:44 +0300 |
commit | a56c206075c757ef6ecd5a5a3803d5e03379d369 (patch) | |
tree | 94a04a25ce0875d5321b73a8f93e155921547b62 /app/models | |
parent | 54b6249f1725d3d36376977a18bdc509557309f3 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/work_item.rb | 10 | ||||
-rw-r--r-- | app/models/work_items/widgets/assignees.rb | 8 | ||||
-rw-r--r-- | app/models/work_items/widgets/base.rb | 4 | ||||
-rw-r--r-- | app/models/work_items/widgets/labels.rb | 8 | ||||
-rw-r--r-- | app/models/work_items/widgets/start_and_due_date.rb | 8 |
5 files changed, 38 insertions, 0 deletions
diff --git a/app/models/work_item.rb b/app/models/work_item.rb index f94e831437a..be090b09425 100644 --- a/app/models/work_item.rb +++ b/app/models/work_item.rb @@ -3,6 +3,10 @@ class WorkItem < Issue include Gitlab::Utils::StrongMemoize + COMMON_QUICK_ACTIONS_COMMANDS = [ + :title, :reopen, :close, :cc, :tableflip, :shrug + ].freeze + self.table_name = 'issues' self.inheritance_column = :_type_disabled @@ -52,6 +56,12 @@ class WorkItem < Issue hierarchy(same_type: true).max_descendants_depth.to_i end + def supported_quick_action_commands + commands_for_widgets = widgets.map(&:class).flat_map(&:quick_action_commands).uniq + + COMMON_QUICK_ACTIONS_COMMANDS + commands_for_widgets + end + private override :parent_link_confidentiality diff --git a/app/models/work_items/widgets/assignees.rb b/app/models/work_items/widgets/assignees.rb index ecbbee1bcfb..0707b03e647 100644 --- a/app/models/work_items/widgets/assignees.rb +++ b/app/models/work_items/widgets/assignees.rb @@ -5,6 +5,14 @@ module WorkItems class Assignees < Base delegate :assignees, to: :work_item delegate :allows_multiple_assignees?, to: :work_item + + def self.quick_action_commands + [:assign, :unassign, :reassign] + end + + def self.quick_action_params + [:assignee_ids] + end end end end diff --git a/app/models/work_items/widgets/base.rb b/app/models/work_items/widgets/base.rb index e7075a7a0e8..3a5b03bd514 100644 --- a/app/models/work_items/widgets/base.rb +++ b/app/models/work_items/widgets/base.rb @@ -11,6 +11,10 @@ module WorkItems "#{type}_widget".to_sym end + def self.quick_action_commands + [] + end + def type self.class.type end diff --git a/app/models/work_items/widgets/labels.rb b/app/models/work_items/widgets/labels.rb index 4ad8319ffac..e8b36156fec 100644 --- a/app/models/work_items/widgets/labels.rb +++ b/app/models/work_items/widgets/labels.rb @@ -5,6 +5,14 @@ module WorkItems class Labels < Base delegate :labels, to: :work_item delegate :allows_scoped_labels?, to: :work_item + + def self.quick_action_commands + [:label, :labels, :relabel, :remove_label, :unlabel] + end + + def self.quick_action_params + [:add_label_ids, :remove_label_ids, :label_ids] + end end end end diff --git a/app/models/work_items/widgets/start_and_due_date.rb b/app/models/work_items/widgets/start_and_due_date.rb index 0b828c5b5a9..22ef262534e 100644 --- a/app/models/work_items/widgets/start_and_due_date.rb +++ b/app/models/work_items/widgets/start_and_due_date.rb @@ -4,6 +4,14 @@ module WorkItems module Widgets class StartAndDueDate < Base delegate :start_date, :due_date, to: :work_item + + def self.quick_action_commands + [:due, :remove_due_date] + end + + def self.quick_action_params + [:due_date] + end end end end |