Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
0223a5fd757b
Commit
03441769
authored
May 07, 2013
by
Dmitriy Zaporozhets
Browse files
Include default labels in issues autocomplete etc. Show colored labels on issues show page
parent
435fdc9d8f41
Changes
8
Show whitespace changes
Inline
Side-by-side
app/controllers/labels_controller.rb
View file @
0223a5fd
...
...
@@ -7,11 +7,11 @@ class LabelsController < ProjectResourceController
respond_to
:js
,
:html
def
index
@labels
=
@project
.
issues_labels
.
order
(
'count DESC'
)
@labels
=
@project
.
issues_labels
end
def
generate
Gitlab
::
Labels
.
generate
(
@project
)
Gitlab
::
Issues
Labels
.
generate
(
@project
)
redirect_to
project_labels_path
(
@project
)
end
...
...
app/helpers/issues_helper.rb
View file @
0223a5fd
...
...
@@ -11,10 +11,6 @@ def issue_css_classes issue
classes
end
def
issue_tags
@project
.
issues
.
tag_counts_on
(
:labels
).
map
(
&
:name
)
end
# Returns an OpenStruct object suitable for use by <tt>options_from_collection_for_select</tt>
# to allow filtering issues by an unassigned User or Milestone
def
unassigned_filter
...
...
@@ -32,12 +28,6 @@ def issues_filter
}
end
def
labels_autocomplete_source
labels
=
@project
.
issues_labels
.
order
(
'count DESC'
)
labels
=
labels
.
map
{
|
l
|
{
label:
l
.
name
,
value:
l
.
name
}
}
labels
.
to_json
end
def
issues_active_milestones
@project
.
milestones
.
active
.
order
(
"id desc"
).
all
end
...
...
@@ -88,19 +78,4 @@ def title_for_issue(issue_id)
""
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
app/helpers/labels_helper.rb
0 → 100644
View file @
0223a5fd
module
LabelsHelper
def
issue_tags
@project
.
issues
.
tag_counts_on
(
:labels
).
map
(
&
:name
)
end
def
labels_autocomplete_source
labels
=
@project
.
issues_labels
labels
=
labels
.
map
{
|
l
|
{
label:
l
.
name
,
value:
l
.
name
}
}
labels
.
to_json
end
def
label_css_class
(
name
)
klass
=
Gitlab
::
IssuesLabels
case
name
when
*
klass
.
warning_labels
'label-warning'
when
*
klass
.
neutral_labels
'label-inverse'
when
*
klass
.
positive_labels
'label-success'
when
*
klass
.
important_labels
'label-important'
else
'label-info'
end
end
end
app/models/project.rb
View file @
0223a5fd
...
...
@@ -34,7 +34,7 @@ class Project < ActiveRecord::Base
attr_accessible
:namespace_id
,
:creator_id
,
as: :admin
acts_as_taggable_on
:labels
acts_as_taggable_on
:labels
,
:issues_default_labels
attr_accessor
:import_url
...
...
@@ -204,7 +204,7 @@ def project_id
end
def
issues_labels
issues
.
tag_counts_on
(
:labels
)
@
issues
_labels
||=
(
issues_default_labels
+
issues
.
tags_on
(
:labels
)).
uniq
.
sort_by
(
&
:name
)
end
def
issue_exists?
(
issue_id
)
...
...
app/views/issues/show.html.haml
View file @
0223a5fd
...
...
@@ -47,7 +47,7 @@
.pull-right
-
@issue
.
labels
.
each
do
|
label
|
%span
.label
%span
{
class:
"label #{label_css_class(label.name)}"
}
%i
.icon-tag
=
label
.
name
...
...
app/views/labels/_label.html.haml
View file @
0223a5fd
-
frequency
=
@project
.
issues
.
tagged_with
(
label
.
name
).
count
%li
%strong
%span
{
class:
"label #{label_css_class(label.name)}"
}
%i
.icon-tag
-
if
frequency
.
zero?
%span
.light
=
label
.
name
-
else
=
label
.
name
.pull-right
-
unless
frequency
.
zero?
=
link_to
project_issues_path
(
label_name:
label
.
name
)
do
%strong
=
pluralize
(
label
.
count
,
'issue'
)
=
pluralize
(
frequency
,
'issue'
)
=
"»"
app/views/labels/index.html.haml
View file @
0223a5fd
...
...
@@ -4,12 +4,11 @@
Labels
%br
.light-well
-
if
@labels
.
present?
%ul
.bordered-list.labels-table
-
@labels
.
each
do
|
label
|
=
render
'label'
,
label:
label
-
unless
@labels
.
present?
%li
-
else
.light-well
%h3
.nothing_here_message
Add first label to your issues or
#{
link_to
'generate'
,
generate_project_labels_path
(
@project
),
method: :post
}
default set of labels
lib/gitlab/labels.rb
→
lib/gitlab/
issues_
labels.rb
View file @
0223a5fd
module
Gitlab
class
Labels
class
Issues
Labels
class
<<
self
def
important_labels
%w(bug critical confirmed)
...
...
@@ -17,12 +17,11 @@ def positive_labels
%w(feature enhancement)
end
def
self
.
generate
(
project
)
def
generate
(
project
)
labels
=
important_labels
+
warning_labels
+
neutral_labels
+
positive_labels
labels
.
each
do
|
label_name
|
# create tag for project
end
project
.
issues_default_label_list
=
labels
project
.
save
end
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment