diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2017-11-15 12:33:54 +0000 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2017-11-15 12:33:54 +0000 |
commit | d51c9bcd916a69b3a71d7d7bdb591c2afcfb5503 (patch) | |
tree | 1fa953ccd69bce32b6966cc3dc278c444468ee93 /perllib/FixMyStreet/App/Controller/Dashboard.pm | |
parent | 01cf33d31e29592e12d1857edc5abf8cdeaba9c3 (diff) | |
parent | 374a315a14737d74c3eb0480c306b68872b365ed (diff) |
Merge branch 'issues/forcouncils/246-dashboard-date-range'
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Dashboard.pm')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Dashboard.pm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Dashboard.pm b/perllib/FixMyStreet/App/Controller/Dashboard.pm index f961660c0..7f4a4bb27 100644 --- a/perllib/FixMyStreet/App/Controller/Dashboard.pm +++ b/perllib/FixMyStreet/App/Controller/Dashboard.pm @@ -157,6 +157,27 @@ sub index : Path : Args(0) { %$prob_where, 'me.confirmed' => { '>=', $dtf->format_datetime( $now->clone->subtract( days => 30 ) ) }, }; + + if ( $c->get_param('start_date') or $c->get_param('end_date') ) { + my @parts; + if ($c->get_param('start_date')) { + my $date = $dtf->parse_datetime( $c->get_param('start_date') ); + push @parts, { '>=', $dtf->format_datetime( $date ) }; + $c->stash->{start_date} = $c->get_param('start_date'); + } + if ($c->get_param('end_date')) { + my $date = $dtf->parse_datetime( $c->get_param('end_date') ); + push @parts, { '<=', $dtf->format_datetime( $date ) }; + $c->stash->{end_date} = $c->get_param('end_date'); + } + + if (scalar @parts == 2) { + $params->{'me.confirmed'} = [ -and => $parts[0], $parts[1] ]; + } else { + $params->{'me.confirmed'} = $parts[0]; + } + } + my $problems_rs = $c->cobrand->problems->to_body($body)->search( $params ); my @problems = $problems_rs->all; |