From 311eb45dbd343068dce41bb44dd8db9f8108cf7e Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Thu, 16 Mar 2006 05:51:34 +0000 Subject: Bug 330521: Remove @::legal_product, @::legal_components and @::legal_target_milestone - Patch by Frédéric Buclin r=mkanat a=justdave MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- query.cgi | 55 ++++++++++++++----------------------------------------- 1 file changed, 14 insertions(+), 41 deletions(-) (limited to 'query.cgi') diff --git a/query.cgi b/query.cgi index 9bb90e782..bda05d7aa 100755 --- a/query.cgi +++ b/query.cgi @@ -35,21 +35,16 @@ use Bugzilla::Search; use Bugzilla::User; use Bugzilla::Util; use Bugzilla::Product; -use Bugzilla::Version; use Bugzilla::Keyword; use vars qw( @legal_resolution @legal_bug_status - @legal_components @legal_opsys @legal_platform @legal_priority - @legal_product @legal_severity - @legal_target_milestone @log_columns - %components ); my $cgi = Bugzilla->cgi; @@ -215,50 +210,26 @@ if ($default{'chfieldto'}->[0] eq "") { $default{'chfieldto'} = ["Now"]; } -GetVersionTable(); - # if using groups for entry, then we don't want people to see products they # don't have access to. Remove them from the list. - my @selectable_products = sort {lc($a->name) cmp lc($b->name)} @{$user->get_selectable_products}; -my %component_set; -my %version_set; -my %milestone_set; - -foreach my $prod_obj (@selectable_products) { - # We build up boolean hashes in the "-set" hashes for each of these things - # before making a list because there may be duplicates names across products. - my @component_names = map($_->name, @{$prod_obj->components}); - my @version_names = map($_->name, @{$prod_obj->versions}); - my @milestone_names = map($_->name, @{$prod_obj->milestones}); - $component_set{$_} = 1 foreach (@component_names); - $version_set{$_} = 1 foreach (@version_names); - $milestone_set{$_} = 1 foreach (@milestone_names); -} - # Create the component, version and milestone lists. -my @components = (); -my @versions = (); -my @milestones = (); -foreach my $c (@::legal_components) { - if ($component_set{$c}) { - push @components, $c; - } -} -my @all_versions = Bugzilla::Version::distinct_names(); -foreach my $v (@all_versions) { - if ($version_set{$v}) { - push @versions, $v; - } -} -foreach my $m (@::legal_target_milestone) { - if ($milestone_set{$m}) { - push @milestones, $m; - } +my %components; +my %versions; +my %milestones; + +foreach my $product (@selectable_products) { + $components{$_->name} = 1 foreach (@{$product->components}); + $versions{$_->name} = 1 foreach (@{$product->versions}); + $milestones{$_->name} = 1 foreach (@{$product->milestones}); } +my @components = sort(keys %components); +my @versions = sort(keys %versions); +my @milestones = sort(keys %milestones); + $vars->{'product'} = \@selectable_products; # Create data structures representing each classification @@ -277,6 +248,8 @@ if (Param('usetargetmilestone')) { $vars->{'have_keywords'} = Bugzilla::Keyword::keyword_count(); +GetVersionTable(); + push @::legal_resolution, "---"; # Oy, what a hack. shift @::legal_resolution; # Another hack - this array contains "" for some reason. See bug 106589. -- cgit v1.2.3-24-g4f1b