aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App/Controller/My.pm
diff options
context:
space:
mode:
authorDave Arter <davea@mysociety.org>2015-03-23 18:01:40 +0000
committerSteven Day <steve@mysociety.org>2015-06-29 12:43:02 +0100
commitf3a1fd203973c374291e0b8182591a41554d0e87 (patch)
tree8ef2fd5b42fb173ba157c3b35fb9528e8d327fe1 /perllib/FixMyStreet/App/Controller/My.pm
parentcc42066bf7867c454113e4ce25db9bd6df4e4491 (diff)
Allow filter by 'category' query param on /my
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/My.pm')
-rw-r--r--perllib/FixMyStreet/App/Controller/My.pm14
1 files changed, 14 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/App/Controller/My.pm b/perllib/FixMyStreet/App/Controller/My.pm
index 8e55b4371..5e9dc1219 100644
--- a/perllib/FixMyStreet/App/Controller/My.pm
+++ b/perllib/FixMyStreet/App/Controller/My.pm
@@ -54,6 +54,12 @@ sub my : Path : Args(0) {
%$params
} if $c->cobrand->problems_clause;
+ my $category = $c->req->param('category');
+ if ( $category ) {
+ $params->{category} = $category;
+ $c->stash->{filter_category} = $category;
+ }
+
my $rs = $c->user->problems->search( $params, {
order_by => { -desc => 'confirmed' },
rows => 50
@@ -87,6 +93,14 @@ sub my : Path : Args(0) {
$c->stash->{updates} = \@updates;
$c->stash->{updates_pager} = $rs->pager;
+ my @categories = $c->user->problems->search( undef, {
+ columns => [ 'category' ],
+ distinct => 1,
+ order_by => [ 'category' ],
+ } )->all;
+ @categories = map { $_->category } @categories;
+ $c->stash->{filter_categories} = \@categories;
+
$c->stash->{page} = 'my';
FixMyStreet::Map::display_map(
$c,