summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/models/project.rb3
-rw-r--r--app/services/boards/lists/generate_service.rb3
-rw-r--r--app/services/issuable_base_service.rb4
-rw-r--r--app/services/labels/transfer_service.rb8
4 files changed, 7 insertions, 11 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 7ab624eafdf..bc15ca3fc2e 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -733,7 +733,8 @@ class Project < ActiveRecord::Base
def create_labels
Label.templates.each do |label|
- self.labels.create!(label.attributes.symbolize_keys.except(:id, :template))
+ params = label.attributes.except('id', 'template', 'created_at', 'updated_at')
+ Labels::CreateService.new(owner, self, params).execute
end
end
diff --git a/app/services/boards/lists/generate_service.rb b/app/services/boards/lists/generate_service.rb
index d8048f1c67e..1d3c7f2071b 100644
--- a/app/services/boards/lists/generate_service.rb
+++ b/app/services/boards/lists/generate_service.rb
@@ -19,8 +19,7 @@ module Boards
end
def find_or_create_label(params)
- project.labels.create_with(color: params[:color])
- .find_or_create_by(name: params[:name])
+ ::Labels::CreateService.new(current_user, project, params).execute
end
def label_params
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb
index deadf1fe283..4554963370f 100644
--- a/app/services/issuable_base_service.rb
+++ b/app/services/issuable_base_service.rb
@@ -88,8 +88,8 @@ class IssuableBaseService < BaseService
return unless labels
params[:label_ids] = labels.split(',').map do |label_name|
- label = available_labels.find_by(title: label_name)
- label ||= project.labels.create(title: label_name.strip, color: Label::DEFAULT_COLOR)
+ service = Labels::CreateService.new(current_user, project, title: label_name.strip)
+ label = service.execute
label.id
end
diff --git a/app/services/labels/transfer_service.rb b/app/services/labels/transfer_service.rb
index 559d2860d97..65b4bdbaff9 100644
--- a/app/services/labels/transfer_service.rb
+++ b/app/services/labels/transfer_service.rb
@@ -41,13 +41,9 @@ module Labels
LabelLink.where("label_links.id IN (#{union.to_sql})")
end
- def labels
- @labels ||= LabelsFinder.new(current_user, project_id: project.id).execute
- end
-
def find_or_create_label!(label)
- new_label = labels.find_by(title: label.title)
- new_label ||= project.labels.create!(label.attributes.slice("title", "description", "color"))
+ params = label.attributes.slice('title', 'description', 'color')
+ new_label = CreateService.new(current_user, project, params).execute
new_label.id
end