aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App/Controller
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2011-08-18 15:27:43 +0100
committerStruan Donald <struan@exo.org.uk>2011-08-18 15:27:43 +0100
commit120f353b1793d5033a5f7c1a922f7da255307805 (patch)
tree4fc7e8cd4ab11f661ee965cd8e45d34444355f8a /perllib/FixMyStreet/App/Controller
parent01750786cc7f8d13f939eb75284f1d805673effe (diff)
remove hard coded state strings
Diffstat (limited to 'perllib/FixMyStreet/App/Controller')
-rw-r--r--perllib/FixMyStreet/App/Controller/Open311.pm17
1 files changed, 10 insertions, 7 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Open311.pm b/perllib/FixMyStreet/App/Controller/Open311.pm
index 459ce12c9..46d7801f6 100644
--- a/perllib/FixMyStreet/App/Controller/Open311.pm
+++ b/perllib/FixMyStreet/App/Controller/Open311.pm
@@ -216,8 +216,11 @@ sub output_requests : Private {
# Look up categories for this council or councils
my $problems = $c->cobrand->problems->search( $criteria, $attr );
- my %statusmap = ( 'fixed' => 'closed',
- 'confirmed' => 'open');
+ my %statusmap = (
+ map( { $_ => 'open' } FixMyStreet::DB::Result::Problem->open_states() ),
+ map( { $_ => 'closed' } FixMyStreet::DB::Result::Problem->fixed_states() ),
+ 'closed' => 'closed'
+ );
my @problemlist;
my @councils;
@@ -309,13 +312,13 @@ sub get_requests : Private {
# Only provide access to the published reports
my $criteria = {
- state => [ 'fixed', 'confirmed' ]
+ state => [ FixMyStreet::DB::Result::Problem->visible_states() ]
};
my %rules = (
service_request_id => [ '=', 'id' ],
service_code => [ '=', 'category' ],
- status => [ '=', 'state' ],
+ status => [ 'IN', 'state' ],
start_date => [ '>=', 'confirmed' ],
end_date => [ '<', 'confirmed' ],
agency_responsible => [ '~', 'council' ],
@@ -329,8 +332,8 @@ sub get_requests : Private {
my $key = $rules{$param}[1];
if ( 'status' eq $param ) {
$value = {
- 'open' => 'confirmed',
- 'closed' => 'fixed'
+ 'open' => [ FixMyStreet::DB::Result::Problem->open_states() ],
+ 'closed' => [ FixMyStreet::DB::Result::Problem->fixed_states(), 'closed' ],
}->{$value};
} elsif ( 'agency_responsible' eq $param ) {
my @valuelist;
@@ -403,7 +406,7 @@ sub get_request : Private {
}
my $criteria = {
- state => [ 'fixed', 'confirmed' ],
+ state => [ FixMyStreet::DB::Result::Problem->visible_states() ],
id => $id,
};
$c->forward( 'output_requests', [ $criteria ] );