diff options
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Open311.pm')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Open311.pm | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Open311.pm b/perllib/FixMyStreet/App/Controller/Open311.pm index 34e2b7cd3..040b0d3e6 100644 --- a/perllib/FixMyStreet/App/Controller/Open311.pm +++ b/perllib/FixMyStreet/App/Controller/Open311.pm @@ -163,10 +163,10 @@ sub get_services : Private { my $categories = $c->model('DB::Contact')->not_deleted; if ($lat || $lon) { - my @area_types = $c->cobrand->area_types; + my $area_types = $c->cobrand->area_types; my $all_councils = mySociety::MaPit::call('point', "4326/$lon,$lat", - type => \@area_types); + type => $area_types); $categories = $categories->search( { area_id => [ keys %$all_councils ], } ); @@ -319,8 +319,6 @@ sub get_requests : Private { service_request_id => [ '=', 'id' ], service_code => [ '=', 'category' ], status => [ 'IN', 'state' ], - start_date => [ '>=', 'confirmed' ], - end_date => [ '<', 'confirmed' ], agency_responsible => [ '~', 'council' ], interface_used => [ '=', 'service' ], has_photo => [ '=', 'photo' ], @@ -365,6 +363,14 @@ sub get_requests : Private { $criteria->{$key} = { $op, $value }; } + if ( $c->req->param('start_date') and $c->req->param('end_date') ) { + $criteria->{confirmed} = [ '-and' => { '>=', $c->req->param('start_date') }, { '<', $c->req->param('end_date') } ]; + } elsif ( $c->req->param('start_date') ) { + $criteria->{confirmed} = { '>=', $c->req->param('start_date') }; + } elsif ( $c->req->param('end_date') ) { + $criteria->{confirmed} = { '<', $c->req->param('end_date') }; + } + if ('rss' eq $c->stash->{format}) { $c->stash->{type} = 'new_problems'; $c->forward( '/rss/lookup_type' ); |