diff options
-rw-r--r-- | Bugzilla/Version.pm | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Bugzilla/Version.pm b/Bugzilla/Version.pm index f48de9089..ba7631a80 100644 --- a/Bugzilla/Version.pm +++ b/Bugzilla/Version.pm @@ -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; |