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:
Diffstat (limited to 'app/services/work_items/widgets/hierarchy_service/base_service.rb')
-rw-r--r--app/services/work_items/widgets/hierarchy_service/base_service.rb15
1 files changed, 9 insertions, 6 deletions
diff --git a/app/services/work_items/widgets/hierarchy_service/base_service.rb b/app/services/work_items/widgets/hierarchy_service/base_service.rb
index 085d6c6b0e7..bb681ef0083 100644
--- a/app/services/work_items/widgets/hierarchy_service/base_service.rb
+++ b/app/services/work_items/widgets/hierarchy_service/base_service.rb
@@ -15,7 +15,7 @@ module WorkItems
elsif params.key?(:children)
update_work_item_children(params.delete(:children))
else
- invalid_args_error
+ invalid_args_error(params)
end
end
@@ -29,13 +29,13 @@ module WorkItems
def set_parent(parent)
::WorkItems::ParentLinks::CreateService
- .new(parent, current_user, { target_issuable: widget.work_item })
+ .new(parent, current_user, { target_issuable: work_item })
.execute
end
# rubocop: disable CodeReuse/ActiveRecord
def remove_parent
- link = ::WorkItems::ParentLink.find_by(work_item: widget.work_item)
+ link = ::WorkItems::ParentLink.find_by(work_item: work_item)
return success unless link.present?
::WorkItems::ParentLinks::DestroyService.new(link, current_user).execute
@@ -44,12 +44,12 @@ module WorkItems
def update_work_item_children(children)
::WorkItems::ParentLinks::CreateService
- .new(widget.work_item, current_user, { issuable_references: children })
+ .new(work_item, current_user, { issuable_references: children })
.execute
end
def feature_flag_enabled?
- Feature.enabled?(:work_items_hierarchy, widget.work_item&.project)
+ Feature.enabled?(:work_items_hierarchy, work_item&.project)
end
def incompatible_args?(params)
@@ -64,11 +64,14 @@ module WorkItems
error(_('A Work Item can be a parent or a child, but not both.'))
end
- def invalid_args_error
+ def invalid_args_error(params)
error(_("One or more arguments are invalid: %{args}." % { args: params.keys.to_sentence } ))
end
def service_response!(result)
+ work_item.reload_work_item_parent
+ work_item.work_item_children.reset
+
return result unless result[:status] == :error
raise WidgetError, result[:message]