diff options
author | Matthew Somerville <matthew@mysociety.org> | 2013-02-08 16:35:41 +0000 |
---|---|---|
committer | Matthew Somerville <matthew@mysociety.org> | 2013-02-08 16:35:41 +0000 |
commit | c3e5268e9769c2399da2a68260233345dd6d266b (patch) | |
tree | 7a074b513ea1d6480e57650512d0dd4cc6345681 /perllib | |
parent | 6fc5665f17fcfe9e6266ad67108616930fe46717 (diff) |
Allow sorting of more Zurich admin tables.
Diffstat (limited to 'perllib')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Admin.pm | 12 | ||||
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Zurich.pm | 12 |
2 files changed, 18 insertions, 6 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm index 0f072b9a2..d25a23816 100644 --- a/perllib/FixMyStreet/App/Controller/Admin.pm +++ b/perllib/FixMyStreet/App/Controller/Admin.pm @@ -498,6 +498,12 @@ sub reports : Path('reports') { } } + my $order = $c->req->params->{o} || 'created'; + my $dir = defined $c->req->params->{d} ? $c->req->params->{d} : 1; + $c->stash->{order} = $order; + $c->stash->{dir} = $dir; + $order .= ' desc' if $dir; + if (my $search = $c->req->param('search')) { $c->stash->{searched} = $search; @@ -544,7 +550,7 @@ sub reports : Path('reports') { $query, { prefetch => 'user', - order_by => [\"(state='hidden')",'created'] + order_by => [ \"(state='hidden')", $order ] } ); @@ -587,7 +593,7 @@ sub reports : Path('reports') { { -select => [ 'me.*', qw/problem.bodies_str problem.state/ ], prefetch => [qw/user problem/], - order_by => [\"(me.state='hidden')",\"(problem.state='hidden')",'me.created'] + order_by => [ \"(me.state='hidden')", \"(problem.state='hidden')", "me.$order" ] } ); $c->stash->{updates} = [ $updates->all ]; @@ -600,7 +606,7 @@ sub reports : Path('reports') { my $page = $c->req->params->{p} || 1; my $problems = $c->cobrand->problems->search( $query, - { order_by => 'created desc' } + { order_by => $order } )->page( $page ); $c->stash->{problems} = [ $problems->all ]; $c->stash->{pager} = $problems->pager; diff --git a/perllib/FixMyStreet/Cobrand/Zurich.pm b/perllib/FixMyStreet/Cobrand/Zurich.pm index 8375e1809..104ba6bf5 100644 --- a/perllib/FixMyStreet/Cobrand/Zurich.pm +++ b/perllib/FixMyStreet/Cobrand/Zurich.pm @@ -229,18 +229,24 @@ sub admin { my $body = $c->stash->{body}; + my $order = $c->req->params->{o} || 'created'; + my $dir = defined $c->req->params->{d} ? $c->req->params->{d} : 1; + $c->stash->{order} = $order; + $c->stash->{dir} = $dir; + $order .= ' desc' if $dir; + # XXX No multiples or missing bodies $c->stash->{reports_new} = $c->cobrand->problems->search( { state => 'in progress', bodies_str => $body->id, }, { - order_by => 'created' + order_by => $order } ); $c->stash->{reports_unpublished} = $c->cobrand->problems->search( { state => 'planned', bodies_str => $body->parent->id, }, { - order_by => 'created desc' + order_by => $order } ); my $page = $c->req->params->{p} || 1; @@ -248,7 +254,7 @@ sub admin { state => 'fixed - council', bodies_str => $body->parent->id, }, { - order_by => 'created desc' + order_by => $order } )->page( $page ); $c->stash->{pager} = $c->stash->{reports_published}->pager; } |