summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Green <sgreen@redhat.com>2014-07-02 02:57:56 +0200
committerSimon Green <sgreen@redhat.com>2014-07-02 02:57:56 +0200
commitdbd6f8f6de86841c7dd5e4474fbba0cbb337f8ab (patch)
treeec8050e17963b99dfeca3ea7fa24bcaba4e190c1
parenta9081c21ce2e94410374692464b4026daf2656ae (diff)
downloadbugzilla-dbd6f8f6de86841c7dd5e4474fbba0cbb337f8ab.tar.gz
bugzilla-dbd6f8f6de86841c7dd5e4474fbba0cbb337f8ab.tar.xz
Bug 1020821 - Product drop down orders classifications alphabetically
r=gkl, a=glob
-rw-r--r--Bugzilla/Template.pm6
-rw-r--r--template/en/default/global/product-select.html.tmpl6
2 files changed, 10 insertions, 2 deletions
diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm
index cf337d9fc..d1457a4fa 100644
--- a/Bugzilla/Template.pm
+++ b/Bugzilla/Template.pm
@@ -17,6 +17,7 @@ use Bugzilla::Hook;
use Bugzilla::Install::Requirements;
use Bugzilla::Install::Util qw(install_string template_include_path
include_languages);
+use Bugzilla::Classification;
use Bugzilla::Keyword;
use Bugzilla::Util;
use Bugzilla::Error;
@@ -1018,6 +1019,11 @@ sub create {
'css_files' => \&css_files,
yui_resolve_deps => \&yui_resolve_deps,
+ # All classifications (sorted by sortkey, name)
+ 'all_classifications' => sub {
+ return [map { $_->name } Bugzilla::Classification->get_all()];
+ },
+
# Whether or not keywords are enabled, in this Bugzilla.
'use_keywords' => sub { return Bugzilla::Keyword->any_exist; },
diff --git a/template/en/default/global/product-select.html.tmpl b/template/en/default/global/product-select.html.tmpl
index ba5ce73b4..23a7b3d58 100644
--- a/template/en/default/global/product-select.html.tmpl
+++ b/template/en/default/global/product-select.html.tmpl
@@ -63,8 +63,10 @@
[% END %]
[% END %]
[% END %]
- [% FOREACH c = classifications.keys.sort %]
- <optgroup label="[% c FILTER html %]">
+
+ [% FOREACH c = all_classifications %]
+ [% NEXT UNLESS classifications.${c}.size %]
+ <optgroup label="[% c FILTER html %]">
[% FOREACH p = classifications.$c %]
<option value="[% p.$valueattribute FILTER html %]"
[% " selected" IF (cgi.param(name) == p.name) || (value.contains(p.name)) %]>