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/create_service.rb')
-rw-r--r--app/services/work_items/create_service.rb12
1 files changed, 7 insertions, 5 deletions
diff --git a/app/services/work_items/create_service.rb b/app/services/work_items/create_service.rb
index c2ceb701a2f..ebda043e873 100644
--- a/app/services/work_items/create_service.rb
+++ b/app/services/work_items/create_service.rb
@@ -2,7 +2,6 @@
module WorkItems
class CreateService < Issues::CreateService
- include ::Services::ReturnServiceResponses
include WidgetableService
def initialize(project:, current_user: nil, params: {}, spam_params:, widget_params: {})
@@ -17,11 +16,10 @@ module WorkItems
end
def execute
- unless @current_user.can?(:create_work_item, @project)
- return error(_('Operation not allowed'), :forbidden)
- end
+ result = super
+ return result if result.error?
- work_item = super
+ work_item = result[:issue]
if work_item.valid?
success(payload(work_item))
@@ -43,6 +41,10 @@ module WorkItems
private
+ def authorization_action
+ :create_work_item
+ end
+
def payload(work_item)
{ work_item: work_item }
end