summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xrequest.cgi17
-rw-r--r--template/en/default/request/queue.html.tmpl8
2 files changed, 20 insertions, 5 deletions
diff --git a/request.cgi b/request.cgi
index c854a1767..cad1f6f53 100755
--- a/request.cgi
+++ b/request.cgi
@@ -76,6 +76,15 @@ else {
$vars->{'products'} = $user->get_selectable_products;
$vars->{'types'} = \@types;
$vars->{'requests'} = {};
+
+ my %components;
+ foreach my $prod (@{$vars->{'products'}}) {
+ foreach my $comp (@{$prod->components}) {
+ $components{$comp->name} = 1;
+ }
+ }
+ $vars->{'components'} = [ sort { $a cmp $b } keys %components ];
+
$template->process('request/queue.html.tmpl', $vars)
|| ThrowTemplateError($template->error());
}
@@ -307,6 +316,14 @@ sub queue {
$vars->{'requests'} = \@requests;
$vars->{'types'} = \@types;
+ my %components;
+ foreach my $prod (@{$vars->{'products'}}) {
+ foreach my $comp (@{$prod->components}) {
+ $components{$comp->name} = 1;
+ }
+ }
+ $vars->{'components'} = [ sort { $a cmp $b } keys %components ];
+
# Generate and return the UI (HTML page) from the appropriate template.
$template->process("request/queue.html.tmpl", $vars)
|| ThrowTemplateError($template->error());
diff --git a/template/en/default/request/queue.html.tmpl b/template/en/default/request/queue.html.tmpl
index 0d626a2e1..af911b2ef 100644
--- a/template/en/default/request/queue.html.tmpl
+++ b/template/en/default/request/queue.html.tmpl
@@ -89,11 +89,9 @@ to some group are shown by default.
<td>
<select name="component">
<option value="">Any</option>
- [% FOREACH prod = products %]
- [% FOREACH comp = prod.components %]
- <option value="[% comp.name FILTER html %]" [% "selected" IF cgi.param('component') == comp.name %]>
- [% comp.name FILTER html %]</option>
- [% END %]
+ [% FOREACH comp = components %]
+ <option value="[% comp FILTER html %]" [% "selected" IF cgi.param('component') == comp %]>
+ [% comp FILTER html %]</option>
[% END %]
</select>
</td>