diff --git a/app/models/label.rb b/app/models/label.rb index 07a1db4abe5860f2047eef32b24a418d09c296f2..c34f4e4ba602de1135b40e0d35f025a671e2a6d9 100644 --- a/app/models/label.rb +++ b/app/models/label.rb @@ -27,6 +27,7 @@ class Label < ActiveRecord::Base belongs_to :project has_many :label_links, dependent: :destroy has_many :issues, through: :label_links, source: :target, source_type: 'Issue' + has_many :merge_requests, through: :label_links, source: :target, source_type: 'MergeRequest' validates :color, color: true, allow_blank: false validates :project, presence: true, unless: Proc.new { |service| service.template? } @@ -90,6 +91,10 @@ class Label < ActiveRecord::Base issues.closed.count end + def open_merge_requests_count + merge_requests.opened.count + end + def template? template end diff --git a/app/views/projects/labels/_label.html.haml b/app/views/projects/labels/_label.html.haml index 5b35acc66c068e1efbb35f6538cc7d6e2126209c..f7ddd30c5a9c48acbf29c6b6ce7814f10ac4e166 100644 --- a/app/views/projects/labels/_label.html.haml +++ b/app/views/projects/labels/_label.html.haml @@ -2,6 +2,10 @@ = render "shared/label_row", label: label .pull-right + %strong.append-right-20 + = link_to_label(label, type: :merge_request) do + = pluralize label.open_merge_requests_count, 'open merge request' + %strong.append-right-20 = link_to_label(label) do = pluralize label.open_issues_count, 'open issue'