]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 371016: Versions are no longer sorted by version-sort
authormkanat%bugzilla.org <>
Wed, 21 Feb 2007 06:53:33 +0000 (06:53 +0000)
committermkanat%bugzilla.org <>
Wed, 21 Feb 2007 06:53:33 +0000 (06:53 +0000)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit

Bugzilla/Version.pm

index f48de9089b9caccf0ea5bccc8bb04ad0ac8df756..ba7631a805827879a98fb6d78fde81b41b31ed0e 100644 (file)
@@ -21,6 +21,7 @@ package Bugzilla::Version;
 
 use base qw(Bugzilla::Object);
 
+use Bugzilla::Install::Requirements qw(vers_cmp);
 use Bugzilla::Util;
 use Bugzilla::Error;
 
@@ -39,7 +40,9 @@ use constant DB_COLUMNS => qw(
 );
 
 use constant NAME_FIELD => 'value';
-use constant LIST_ORDER => NAME_FIELD;
+# This is "id" because it has to be filled in and id is probably the fastest.
+# We do a custom sort in new_from_list below.
+use constant LIST_ORDER => 'id';
 
 sub new {
     my $class = shift;
@@ -70,6 +73,12 @@ sub new {
     return $class->SUPER::new(@_);
 }
 
+sub new_from_list {
+    my $self = shift;
+    my $list = $self->SUPER::new_from_list(@_);
+    return [sort { vers_cmp(lc($a->name), lc($b->name)) } @$list];
+}
+
 sub bug_count {
     my $self = shift;
     my $dbh = Bugzilla->dbh;