diff options
-rw-r--r-- | Bugzilla/Template.pm | 6 | ||||
-rw-r--r-- | template/en/default/global/product-select.html.tmpl | 6 |
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)) %]> |