use Class::DBI::AsForm;
use Class::DBI::FromCGI;
use Class::DBI::AbstractSearch;
+use Class::DBI::Plugin::RetrieveAll;
use Class::DBI::Pager;
use CGI::Untaint;
use strict;
sub list :Exported {
my ($self, $r) = @_;
+ my %ok_columns = map {$_ => 1} $self->columns;
if ( my $rows = $r->config->{rows_per_page}) {
$self = $self->pager($rows, $r->query->{page});
$r->{template_args}{pager} = $self;
}
- $r->objects([ $self->retrieve_all ]);
+ my $order;
+ if ($order = $r->query->{order} and $ok_columns{$order}) {
+ $r->objects([ $self->retrieve_all_sorted_by( $order.
+ ($r->query->{o2} eq "desc" && " DESC")
+ )]);
+ } else {
+ $r->objects([ $self->retrieve_all ]);
+ }
}
1;