From 630ed304d67f83ecd8848bf665b03fd7c27fff46 Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Tue, 21 Jun 2011 16:11:42 +0100 Subject: remove more hardcoded references to fixed --- perllib/FixMyStreet/App/Controller/Questionnaire.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'perllib/FixMyStreet/App/Controller/Questionnaire.pm') diff --git a/perllib/FixMyStreet/App/Controller/Questionnaire.pm b/perllib/FixMyStreet/App/Controller/Questionnaire.pm index 19d057958..27c413259 100755 --- a/perllib/FixMyStreet/App/Controller/Questionnaire.pm +++ b/perllib/FixMyStreet/App/Controller/Questionnaire.pm @@ -48,7 +48,7 @@ sub load_questionnaire : Private { $c->detach; } - unless ( $questionnaire->problem->state eq 'confirmed' || $questionnaire->problem->state eq 'fixed' ) { + unless ( $questionnaire->problem->is_visible ) { $c->detach('missing_problem'); } @@ -129,7 +129,7 @@ sub submit_creator_fixed : Private { { problem_id => $c->stash->{problem}, old_state => 'confirmed', - new_state => 'fixed', + new_state => 'fixed - user', } ); @@ -156,8 +156,9 @@ sub submit_standard : Private { my $problem = $c->stash->{problem}; my $old_state = $problem->state; my $new_state = ''; - $new_state = 'fixed' if $c->stash->{been_fixed} eq 'Yes' && $old_state eq 'confirmed'; - $new_state = 'confirmed' if $c->stash->{been_fixed} eq 'No' && $old_state eq 'fixed'; + $new_state = 'fixed - user' if $c->stash->{been_fixed} eq 'Yes' && $old_state eq 'confirmed'; + $new_state = 'confirmed' if $c->stash->{been_fixed} eq 'No' && + exists FixMyStreet::DB::Result::Problem->fixed_states()->{$old_state}; # Record state change, if there was one if ( $new_state ) { -- cgit v1.2.3 From 3d1798ff5ebf15d59c704545412c91d3a68b1035 Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Tue, 21 Jun 2011 18:50:46 +0100 Subject: remove hard coded confirmeds from questionnaire --- perllib/FixMyStreet/App/Controller/Questionnaire.pm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'perllib/FixMyStreet/App/Controller/Questionnaire.pm') diff --git a/perllib/FixMyStreet/App/Controller/Questionnaire.pm b/perllib/FixMyStreet/App/Controller/Questionnaire.pm index 27c413259..ad3827de9 100755 --- a/perllib/FixMyStreet/App/Controller/Questionnaire.pm +++ b/perllib/FixMyStreet/App/Controller/Questionnaire.pm @@ -128,7 +128,7 @@ sub submit_creator_fixed : Private { my $questionnaire = $c->model( 'DB::Questionnaire' )->find_or_new( { problem_id => $c->stash->{problem}, - old_state => 'confirmed', + old_state => [ FixMyStreet::DB::Result::Problem->open_states() ], new_state => 'fixed - user', } ); @@ -156,9 +156,10 @@ sub submit_standard : Private { my $problem = $c->stash->{problem}; my $old_state = $problem->state; my $new_state = ''; - $new_state = 'fixed - user' if $c->stash->{been_fixed} eq 'Yes' && $old_state eq 'confirmed'; + $new_state = 'fixed - user' if $c->stash->{been_fixed} eq 'Yes' && + FixMyStreet::DB::Result::Problem->open_states()->{$old_state}; $new_state = 'confirmed' if $c->stash->{been_fixed} eq 'No' && - exists FixMyStreet::DB::Result::Problem->fixed_states()->{$old_state}; + FixMyStreet::DB::Result::Problem->fixed_states()->{$old_state}; # Record state change, if there was one if ( $new_state ) { @@ -167,7 +168,8 @@ sub submit_standard : Private { } # If it's not fixed and they say it's still not been fixed, record time update - if ( $c->stash->{been_fixed} eq 'No' && $old_state eq 'confirmed' ) { + if ( $c->stash->{been_fixed} eq 'No' && + FixMyStreet::DB::Result::Problem->open_states($old_state) ) { $problem->lastupdate( \'ms_current_timestamp()' ); } -- cgit v1.2.3 From f301d83e6bd7546b2f2a80067313dd17502581f8 Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Tue, 28 Jun 2011 13:23:09 +0100 Subject: store correct old state in questionnaire when creator marks problem as fixed --- perllib/FixMyStreet/App/Controller/Questionnaire.pm | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'perllib/FixMyStreet/App/Controller/Questionnaire.pm') diff --git a/perllib/FixMyStreet/App/Controller/Questionnaire.pm b/perllib/FixMyStreet/App/Controller/Questionnaire.pm index ad3827de9..ccf7dfba0 100755 --- a/perllib/FixMyStreet/App/Controller/Questionnaire.pm +++ b/perllib/FixMyStreet/App/Controller/Questionnaire.pm @@ -128,13 +128,19 @@ sub submit_creator_fixed : Private { my $questionnaire = $c->model( 'DB::Questionnaire' )->find_or_new( { problem_id => $c->stash->{problem}, + # we want to look for any previous questionnaire here rather than one for + # this specific open state -> fixed transistion old_state => [ FixMyStreet::DB::Result::Problem->open_states() ], new_state => 'fixed - user', } ); unless ( $questionnaire->in_storage ) { + my $old_state = $c->flash->{old_state}; + $old_state = 'confirmed' unless FixMyStreet::DB::Result::Problem->open_states->{$old_state}; + $questionnaire->ever_reported( $c->stash->{reported} eq 'Yes' ? 1 : 0 ); + $questionnaire->old_state( $old_state ); $questionnaire->whensent( \'ms_current_timestamp()' ); $questionnaire->whenanswered( \'ms_current_timestamp()' ); $questionnaire->insert; -- cgit v1.2.3 From 96da0c04218644450f141f20c1dee4247a0ed8fe Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Tue, 28 Jun 2011 14:51:17 +0100 Subject: correctly set mark_open/fixed in questionnaire generates updates --- perllib/FixMyStreet/App/Controller/Questionnaire.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'perllib/FixMyStreet/App/Controller/Questionnaire.pm') diff --git a/perllib/FixMyStreet/App/Controller/Questionnaire.pm b/perllib/FixMyStreet/App/Controller/Questionnaire.pm index ccf7dfba0..a146b85ce 100755 --- a/perllib/FixMyStreet/App/Controller/Questionnaire.pm +++ b/perllib/FixMyStreet/App/Controller/Questionnaire.pm @@ -202,7 +202,7 @@ sub submit_standard : Private { user => $problem->user, text => $update, state => 'confirmed', - mark_fixed => $new_state eq 'fixed' ? 1 : 0, + mark_fixed => $new_state eq 'fixed - user' ? 1 : 0, mark_open => $new_state eq 'confirmed' ? 1 : 0, lang => $c->stash->{lang_code}, cobrand => $c->cobrand->moniker, -- cgit v1.2.3 From 50984fe0e0b75436ed2ce673631c018e83ed9945 Mon Sep 17 00:00:00 2001 From: Matthew Somerville Date: Tue, 19 Jul 2011 17:11:45 +0100 Subject: Couple of typos in bits of code. --- perllib/FixMyStreet/App/Controller/Questionnaire.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'perllib/FixMyStreet/App/Controller/Questionnaire.pm') diff --git a/perllib/FixMyStreet/App/Controller/Questionnaire.pm b/perllib/FixMyStreet/App/Controller/Questionnaire.pm index 90674b294..8de935dd7 100755 --- a/perllib/FixMyStreet/App/Controller/Questionnaire.pm +++ b/perllib/FixMyStreet/App/Controller/Questionnaire.pm @@ -168,7 +168,7 @@ sub submit_standard : Private { # If it's not fixed and they say it's still not been fixed, record time update if ( $c->stash->{been_fixed} eq 'No' && - FixMyStreet::DB::Result::Problem->open_states($old_state) ) { + FixMyStreet::DB::Result::Problem->open_states->{$old_state} ) { $problem->lastupdate( \'ms_current_timestamp()' ); } -- cgit v1.2.3 From 01750786cc7f8d13f939eb75284f1d805673effe Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Thu, 18 Aug 2011 13:57:16 +0100 Subject: remove hard coded references to fixed --- perllib/FixMyStreet/App/Controller/Questionnaire.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'perllib/FixMyStreet/App/Controller/Questionnaire.pm') diff --git a/perllib/FixMyStreet/App/Controller/Questionnaire.pm b/perllib/FixMyStreet/App/Controller/Questionnaire.pm index a8bdca7a4..7a089eb76 100755 --- a/perllib/FixMyStreet/App/Controller/Questionnaire.pm +++ b/perllib/FixMyStreet/App/Controller/Questionnaire.pm @@ -297,7 +297,7 @@ sub display : Private { pins => [ { latitude => $problem->latitude, longitude => $problem->longitude, - colour => $problem->state eq 'fixed' ? 'green' : 'red', + colour => $problem->is_fixed() ? 'green' : 'red', } ], ); } -- cgit v1.2.3 From 34ae11b13ec02a874badea13bbeb2ee8e7c384de Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Thu, 18 Aug 2011 23:50:43 +0100 Subject: few more static states --- perllib/FixMyStreet/App/Controller/Questionnaire.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'perllib/FixMyStreet/App/Controller/Questionnaire.pm') diff --git a/perllib/FixMyStreet/App/Controller/Questionnaire.pm b/perllib/FixMyStreet/App/Controller/Questionnaire.pm index 7a089eb76..f0cb02115 100755 --- a/perllib/FixMyStreet/App/Controller/Questionnaire.pm +++ b/perllib/FixMyStreet/App/Controller/Questionnaire.pm @@ -245,7 +245,7 @@ sub process_questionnaire : Private { if ($c->stash->{been_fixed} eq 'No' || $c->stash->{been_fixed} eq 'Unknown') && !$c->stash->{another}; push @errors, _('Please provide some explanation as to why you\'re reopening this report') - if $c->stash->{been_fixed} eq 'No' && $c->stash->{problem}->state eq 'fixed' && !$c->stash->{update}; + if $c->stash->{been_fixed} eq 'No' && $c->stash->{problem}->is_fixed() && !$c->stash->{update}; $c->forward('/report/new/process_photo'); push @errors, $c->stash->{photo_error} -- cgit v1.2.3