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:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-09-09 11:57:54 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-09-09 11:57:54 +0300
commitb05cc8bc9aa5200a0fe3d2ce0afe18485a0aded5 (patch)
tree7d0cea775b4cafded2409d448aade0f369eca221 /app/models
parentfbcde1aa779e56c7573cb86729e963b1bae186ff (diff)
parent6bd3d72bbdf288ecf2eee718f2943821c1401a22 (diff)
Merge branch 'global_labels' into 'master'
Global labels https://dev.gitlab.org/gitlab/gitlabhq/issues/2353 See merge request !1240
Diffstat (limited to 'app/models')
-rw-r--r--app/models/label.rb8
-rw-r--r--app/models/project.rb9
2 files changed, 16 insertions, 1 deletions
diff --git a/app/models/label.rb b/app/models/label.rb
index 230631b5180..4a22bd53400 100644
--- a/app/models/label.rb
+++ b/app/models/label.rb
@@ -24,7 +24,7 @@ class Label < ActiveRecord::Base
validates :color,
format: { with: /\A#[0-9A-Fa-f]{6}\Z/ },
allow_blank: false
- validates :project, presence: true
+ validates :project, presence: true, unless: Proc.new { |service| service.template? }
# Don't allow '?', '&', and ',' for label titles
validates :title,
@@ -34,6 +34,8 @@ class Label < ActiveRecord::Base
default_scope { order(title: :asc) }
+ scope :templates, -> { where(template: true) }
+
alias_attribute :name, :title
def self.reference_prefix
@@ -78,4 +80,8 @@ class Label < ActiveRecord::Base
def open_issues_count
issues.opened.count
end
+
+ def template?
+ template
+ end
end
diff --git a/app/models/project.rb b/app/models/project.rb
index c2d7fa5fcb8..072d7d73f41 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -403,6 +403,15 @@ class Project < ActiveRecord::Base
end
end
+ def create_labels
+ Label.templates.each do |label|
+ label = label.dup
+ label.template = nil
+ label.project_id = self.id
+ label.save
+ end
+ end
+
def find_service(list, name)
list.find { |service| service.to_param == name }
end