OSDN Git Service

add Gitlab::Label class and different color labels for default labels set
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Tue, 7 May 2013 14:57:59 +0000 (17:57 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Tue, 7 May 2013 14:57:59 +0000 (17:57 +0300)
app/helpers/issues_helper.rb
app/views/issues/_issue.html.haml
lib/gitlab/labels.rb [new file with mode: 0644]

index 70ebbdd..ab4ffa8 100644 (file)
@@ -88,4 +88,19 @@ module IssuesHelper
       ""
     end
   end
+
+  def label_css_class(name)
+    case name
+    when *warning_labels
+      'label-warning'
+    when *neutral_labels
+      'label-inverse'
+    when *positive_labels
+      'label-success'
+    when *important_labels
+      'label-important'
+    else
+      'label-info'
+    end
+  end
 end
index 6c6d45e..f44c0a6 100644 (file)
@@ -27,7 +27,7 @@
 
     .issue-labels
       - issue.labels.each do |label|
-        %span.label.label-info
+        %span{class: "label #{label_css_class(label.name)}"}
           %i.icon-tag
           = label.name
 
diff --git a/lib/gitlab/labels.rb b/lib/gitlab/labels.rb
new file mode 100644 (file)
index 0000000..f53223c
--- /dev/null
@@ -0,0 +1,29 @@
+module Gitlab
+  class Labels
+    class << self
+      def important_labels
+        %w(bug critical confirmed)
+      end
+
+      def warning_labels
+        %w(documentation support)
+      end
+
+      def neutral_labels
+        %w(discussion suggestion)
+      end
+
+      def positive_labels
+        %w(feature enhancement)
+      end
+
+      def self.generate(project)
+        labels = important_labels + warning_labels + neutral_labels + positive_labels
+
+        labels.each do |label_name|
+          # create tag for project
+        end
+      end
+    end
+  end
+end