- 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 ]);
+ my %ok_columns = map { $_ => 1 } $self->columns;
+ if ( $order = $r->query->{order} and $ok_columns{$order} ) {
+ $order .= ( $r->query->{o2} eq "desc" && " DESC" );
+ }
+ $order;
+ }
+
+sub list : Exported {
+ my ( $self, $r ) = @_;
+ my $order = $self->order($r);
+ $self = $self->do_pager($r);
+ if ($order) {
+ $r->objects( [ $self->retrieve_all_sorted_by($order) ] );
+ }
+ else {
+ $r->objects( [ $self->retrieve_all ] );