]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 753688: Classification doesn't work as z-axis on reports
authorFrédéric Buclin <LpSolit@gmail.com>
Tue, 24 Jul 2012 14:03:46 +0000 (16:03 +0200)
committerFrédéric Buclin <LpSolit@gmail.com>
Tue, 24 Jul 2012 14:03:46 +0000 (16:03 +0200)
r=glob a=LpSolit

Bugzilla/Search.pm

index 9a7feee732d61ff178d9b73e2e5ea652284333cf..da37a96388839f487b427e0c7de731233a7b3b48 100644 (file)
@@ -822,28 +822,38 @@ sub _add_extra_column {
 }
 
 # These are the columns that we're going to be actually SELECTing.
+sub _display_columns {
+    my ($self) = @_;
+    # Do not alter the list specified here at all, even if they are duplicated.
+    # Those are passed by the caller, and the caller expects to get them back
+    # in the exact same order.
+    $self->{display_columns} ||= [$self->_input_columns, $self->_extra_columns];
+    return @{ $self->{display_columns} };
+}
+
+# These are the columns that are involved in the query.
 sub _select_columns {
     my ($self) = @_;
     return @{ $self->{select_columns} } if $self->{select_columns};
 
     my @select_columns;
-    foreach my $column ($self->_input_columns, $self->_extra_columns) {
+    foreach my $column ($self->_display_columns) {
         if (my $add_first = COLUMN_DEPENDS->{$column}) {
             push(@select_columns, @$add_first);
         }
         push(@select_columns, $column);
     }
-    
+    # Remove duplicated columns.
     $self->{select_columns} = [uniq @select_columns];
     return @{ $self->{select_columns} };
 }
 
-# This takes _select_columns and translates it into the actual SQL that
+# This takes _display_columns and translates it into the actual SQL that
 # will go into the SELECT clause.
 sub _sql_select {
     my ($self) = @_;
     my @sql_fields;
-    foreach my $column ($self->_select_columns) {
+    foreach my $column ($self->_display_columns) {
         my $alias = $column;
         # Aliases cannot contain dots in them. We convert them to underscores.
         $alias =~ s/\./_/g;