Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-02-20 16:49:51 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-02-20 16:49:51 +0300
commit71786ddc8e28fbd3cb3fcc4b3ff15e5962a1c82e (patch)
tree6a2d93ef3fb2d353bb7739e4b57e6541f51cdd71 /app/services/work_items
parenta7253423e3403b8c08f8a161e5937e1488f5f407 (diff)
Add latest changes from gitlab-org/gitlab@15-9-stable-eev15.9.0-rc42
Diffstat (limited to 'app/services/work_items')
-rw-r--r--app/services/work_items/create_and_link_service.rb2
-rw-r--r--app/services/work_items/create_service.rb6
-rw-r--r--app/services/work_items/delete_task_service.rb2
-rw-r--r--app/services/work_items/export_csv_service.rb34
-rw-r--r--app/services/work_items/task_list_reference_removal_service.rb2
-rw-r--r--app/services/work_items/task_list_reference_replacement_service.rb2
-rw-r--r--app/services/work_items/update_service.rb4
7 files changed, 43 insertions, 9 deletions
diff --git a/app/services/work_items/create_and_link_service.rb b/app/services/work_items/create_and_link_service.rb
index 351ebc14564..ae09e44b952 100644
--- a/app/services/work_items/create_and_link_service.rb
+++ b/app/services/work_items/create_and_link_service.rb
@@ -16,7 +16,7 @@ module WorkItems
def execute
create_result = CreateService.new(
- project: @project,
+ container: @project,
current_user: @current_user,
params: @params.merge(title: @params[:title].strip).reverse_merge(confidential: confidential_parent),
spam_params: @spam_params
diff --git a/app/services/work_items/create_service.rb b/app/services/work_items/create_service.rb
index c89ebc75b80..eff2132039f 100644
--- a/app/services/work_items/create_service.rb
+++ b/app/services/work_items/create_service.rb
@@ -4,13 +4,13 @@ module WorkItems
class CreateService < Issues::CreateService
include WidgetableService
- def initialize(project:, spam_params:, current_user: nil, params: {}, widget_params: {})
+ def initialize(container:, spam_params:, current_user: nil, params: {}, widget_params: {})
super(
- project: project,
+ container: container,
current_user: current_user,
params: params,
spam_params: spam_params,
- build_service: ::WorkItems::BuildService.new(project: project, current_user: current_user, params: params)
+ build_service: ::WorkItems::BuildService.new(container: container, current_user: current_user, params: params)
)
@widget_params = widget_params
end
diff --git a/app/services/work_items/delete_task_service.rb b/app/services/work_items/delete_task_service.rb
index 2a82a993b71..3d66716543a 100644
--- a/app/services/work_items/delete_task_service.rb
+++ b/app/services/work_items/delete_task_service.rb
@@ -25,7 +25,7 @@ module WorkItems
break ::ServiceResponse.error(message: replacement_result.errors, http_status: 422) if replacement_result.error?
delete_result = ::WorkItems::DeleteService.new(
- project: @task.project,
+ container: @task.project,
current_user: @current_user
).execute(@task)
diff --git a/app/services/work_items/export_csv_service.rb b/app/services/work_items/export_csv_service.rb
new file mode 100644
index 00000000000..9bef75e2c40
--- /dev/null
+++ b/app/services/work_items/export_csv_service.rb
@@ -0,0 +1,34 @@
+# frozen_string_literal: true
+
+module WorkItems
+ class ExportCsvService < ExportCsv::BaseService
+ NotAvailableError = StandardError.new('This feature is currently behind a feature flag and it is not available.')
+
+ def csv_data
+ raise NotAvailableError unless Feature.enabled?(:import_export_work_items_csv, resource_parent)
+
+ super
+ end
+
+ def email(mail_to_user)
+ # TODO - will be implemented as part of https://gitlab.com/gitlab-org/gitlab/-/issues/379082
+ end
+
+ private
+
+ def associations_to_preload
+ [:work_item_type, :author]
+ end
+
+ def header_to_value_hash
+ {
+ 'Id' => 'iid',
+ 'Title' => 'title',
+ 'Type' => ->(work_item) { work_item.work_item_type.name },
+ 'Author' => 'author_name',
+ 'Author Username' => ->(work_item) { work_item.author.username },
+ 'Created At (UTC)' => ->(work_item) { work_item.created_at.to_s(:csv) }
+ }
+ end
+ end
+end
diff --git a/app/services/work_items/task_list_reference_removal_service.rb b/app/services/work_items/task_list_reference_removal_service.rb
index 9152580bef0..843b03906ac 100644
--- a/app/services/work_items/task_list_reference_removal_service.rb
+++ b/app/services/work_items/task_list_reference_removal_service.rb
@@ -39,7 +39,7 @@ module WorkItems
end
::WorkItems::UpdateService.new(
- project: @work_item.project,
+ container: @work_item.project,
current_user: @current_user,
params: { description: source_lines.join("\n"), lock_version: @lock_version }
).execute(@work_item)
diff --git a/app/services/work_items/task_list_reference_replacement_service.rb b/app/services/work_items/task_list_reference_replacement_service.rb
index b098d67561b..d81576909d9 100644
--- a/app/services/work_items/task_list_reference_replacement_service.rb
+++ b/app/services/work_items/task_list_reference_replacement_service.rb
@@ -34,7 +34,7 @@ module WorkItems
remove_additional_lines!(source_lines)
::WorkItems::UpdateService.new(
- project: @work_item.project,
+ container: @work_item.project,
current_user: @current_user,
params: { description: source_lines.join("\n"), lock_version: @lock_version }
).execute(@work_item)
diff --git a/app/services/work_items/update_service.rb b/app/services/work_items/update_service.rb
index 1351445f6f3..d4acadbc851 100644
--- a/app/services/work_items/update_service.rb
+++ b/app/services/work_items/update_service.rb
@@ -4,10 +4,10 @@ module WorkItems
class UpdateService < ::Issues::UpdateService
include WidgetableService
- def initialize(project:, current_user: nil, params: {}, spam_params: nil, widget_params: {})
+ def initialize(container:, current_user: nil, params: {}, spam_params: nil, widget_params: {})
params[:widget_params] = true if widget_params.present?
- super(project: project, current_user: current_user, params: params, spam_params: nil)
+ super(container: container, current_user: current_user, params: params, spam_params: spam_params)
@widget_params = widget_params
end