From 17e3e995f357cf33670436264607a965b38a671d Mon Sep 17 00:00:00 2001 From: "gerv%gerv.net" <> Date: Sun, 11 Aug 2002 14:50:50 +0000 Subject: Bug 160557 - products that start with _ do not show up properly in query.cgi. Patch by pbaker@where2getit.com and gerv; r=bbaetz. --- query.cgi | 48 ++++++++++++------------------- template/en/default/search/form.html.tmpl | 12 ++++---- 2 files changed, 24 insertions(+), 36 deletions(-) diff --git a/query.cgi b/query.cgi index daa34cd1f..af4b54164 100755 --- a/query.cgi +++ b/query.cgi @@ -242,46 +242,34 @@ foreach my $m (@::legal_target_milestone) { } } -# Sort the component list... -my $comps = \%::components; -foreach my $p (@products) { - my @tmp = sort { lc($a) cmp lc($b) } @{$comps->{$p}}; - $comps->{$p} = \@tmp; -} - -# and the version list... -my $vers = \%::versions; -foreach my $p (@products) { - my @tmp = sort { lc($a) cmp lc($b) } @{$vers->{$p}}; - $vers->{$p} = \@tmp; -} - -# and the milestone list. -my $mstones; -if (Param('usetargetmilestone')) { - $mstones = \%::target_milestone; - foreach my $p (@products) { - my @tmp = sort { lc($a) cmp lc($b) } @{$mstones->{$p}}; - $mstones->{$p} = \@tmp; - } +# Create data structures representing each product. +for (my $i = 0; $i < @products; ++$i) { + my $p = $products[$i]; + + # Create hash to hold attributes for each product. + my %product = ( + 'name' => $p, + 'components' => [ sort { lc($a) cmp lc($b) } @{$::components{$p}} ], + 'versions' => [ sort { lc($a) cmp lc($b) } @{$::versions{$p}} ] + ); + + if (Param('usetargetmilestone')) { + $product{'milestones'} = + [ sort { lc($a) cmp lc($b) } @{$::target_milestone{$p}} ]; + } + + # Assign hash back to product array. + $products[$i] = \%product; } -# "foo" or "foos" is a list of all the possible (or legal) products, -# components, versions or target milestones. -# "foobyproduct" is a hash, keyed by product, of sorted lists -# of the same data. - $vars->{'product'} = \@products; # We use 'component_' because 'component' is a Template Toolkit reserved word. -$vars->{'componentsbyproduct'} = $comps; $vars->{'component_'} = \@components; -$vars->{'versionsbyproduct'} = $vers; $vars->{'version'} = \@versions; if (Param('usetargetmilestone')) { - $vars->{'milestonesbyproduct'} = $mstones; $vars->{'target_milestone'} = \@milestones; } diff --git a/template/en/default/search/form.html.tmpl b/template/en/default/search/form.html.tmpl index 4127d841c..b3c87b5cc 100644 --- a/template/en/default/search/form.html.tmpl +++ b/template/en/default/search/form.html.tmpl @@ -41,12 +41,12 @@ var tms = new Array(); [% n = 0 %] [% FOREACH p = product %] cpts[[% n %]] = [ - [%- FOREACH item = componentsbyproduct.$p %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; + [%- FOREACH item = p.components %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; vers[[% n %]] = [ - [%- FOREACH item = versionsbyproduct.$p -%]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; + [%- FOREACH item = p.versions -%]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; [% IF Param('usetargetmilestone') %] tms[[% n %]] = [ - [%- FOREACH item = milestonesbyproduct.$p %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; + [%- FOREACH item = p.milestones %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; [% END %] [% n = n+1 %] [% END %] @@ -375,9 +375,9 @@ function selectProduct(f) { -- cgit v1.2.3-24-g4f1b