From 7e6f8a128038523734f315ddb01df50f31bd91db Mon Sep 17 00:00:00 2001 From: Dave Whiteland Date: Tue, 10 Jul 2012 01:50:30 +0100 Subject: passing MM message number through service field, callback on view (needs client check to only trigger on rreports created this session) --- perllib/FixMyStreet/App/Controller/Report/New.pm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'perllib/FixMyStreet/App/Controller/Report') diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index 5bf184ae6..3d356cc40 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -1001,6 +1001,11 @@ sub save_user_and_report : Private { # Set unknown to DB unknown $report->council( undef ) if $report->council eq '-1'; + # if there is a Message Manager message ID, pass it back to the client view + if ($c->req->param('mm_msg_id')) { + $report->service( $c->req->param('mm_msg_id') ); + } + # save the report; $report->in_storage ? $report->update : $report->insert(); -- cgit v1.2.3 From 5fd90e4a82dcc5b2e7dd582dca2c1cd9c655c28c Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Wed, 11 Jul 2012 17:18:37 +0100 Subject: if report generated from message manager pass id to report page --- perllib/FixMyStreet/App/Controller/Report/New.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'perllib/FixMyStreet/App/Controller/Report') diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index 3d356cc40..c09b721b9 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -1003,6 +1003,7 @@ sub save_user_and_report : Private { # if there is a Message Manager message ID, pass it back to the client view if ($c->req->param('mm_msg_id')) { + $c->stash->{mm_msg_id} = $c->req->param('mm_msg_id'); $report->service( $c->req->param('mm_msg_id') ); } @@ -1068,7 +1069,13 @@ sub redirect_or_confirm_creation : Private { if ( $report->confirmed ) { # Subscribe problem reporter to email updates $c->forward( 'create_reporter_alert' ); - my $report_uri = $c->uri_for( '/report', $report->id ); + my $report_uri; + + if ( $c->cobrand->moniker eq 'fixmybarangay' && $c->user->from_council && $c->stash->{mm_msg_id}) { + $report_uri = $c->uri_for( '/report', $report->id, undef, { mm_msg_id => $c->stash->{mm_msg_id} } ); + } else { + $report_uri = $c->uri_for( '/report', $report->id ); + } $c->log->info($report->user->id . ' was logged in, redirecting to /report/' . $report->id); $c->res->redirect($report_uri); $c->detach; -- cgit v1.2.3 From 83be54e6b5b465217ec1cddef31f220915f5ed0f Mon Sep 17 00:00:00 2001 From: Dave Whiteland Date: Wed, 11 Jul 2012 17:20:55 +0100 Subject: reworking mm_msg_id, instead of service --- perllib/FixMyStreet/App/Controller/Report/New.pm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'perllib/FixMyStreet/App/Controller/Report') diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index 3d356cc40..882fa30be 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -801,6 +801,9 @@ sub process_report : Private { # set these straight from the params $report->category( _ $params{category} ) if $params{category}; + # if there is a Message Manager message ID, save it + $report->mm_msg_id( $params{mm_msg_id} ) if $params{mm_msg_id}=~/^\d+$/; + my $areas = $c->stash->{all_areas}; $report->areas( ',' . join( ',', sort keys %$areas ) . ',' ); @@ -1001,11 +1004,6 @@ sub save_user_and_report : Private { # Set unknown to DB unknown $report->council( undef ) if $report->council eq '-1'; - # if there is a Message Manager message ID, pass it back to the client view - if ($c->req->param('mm_msg_id')) { - $report->service( $c->req->param('mm_msg_id') ); - } - # save the report; $report->in_storage ? $report->update : $report->insert(); @@ -1070,6 +1068,7 @@ sub redirect_or_confirm_creation : Private { $c->forward( 'create_reporter_alert' ); my $report_uri = $c->uri_for( '/report', $report->id ); $c->log->info($report->user->id . ' was logged in, redirecting to /report/' . $report->id); + XXXX $c->res->redirect($report_uri); $c->detach; } -- cgit v1.2.3 From e76a83d5ae9e34f227921847dde45518f6073896 Mon Sep 17 00:00:00 2001 From: Dave Whiteland Date: Wed, 11 Jul 2012 19:02:43 +0100 Subject: whoops XXX --- perllib/FixMyStreet/App/Controller/Report/New.pm | 1 - 1 file changed, 1 deletion(-) (limited to 'perllib/FixMyStreet/App/Controller/Report') diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index 08d0addb9..57175269c 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -1074,7 +1074,6 @@ sub redirect_or_confirm_creation : Private { $report_uri = $c->uri_for( '/report', $report->id ); } $c->log->info($report->user->id . ' was logged in, redirecting to /report/' . $report->id); - XXXX $c->res->redirect($report_uri); $c->detach; } -- cgit v1.2.3 From 55751b48ca0cd977bf1d58ed600eff22bf5e8e81 Mon Sep 17 00:00:00 2001 From: Dave Whiteland Date: Wed, 11 Jul 2012 19:03:38 +0100 Subject: added Message Manager ID (mm_msg_id) column and used it --- perllib/FixMyStreet/App/Controller/Report/New.pm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'perllib/FixMyStreet/App/Controller/Report') diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index 57175269c..011e9e4b6 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -801,9 +801,6 @@ sub process_report : Private { # set these straight from the params $report->category( _ $params{category} ) if $params{category}; - # if there is a Message Manager message ID, save it - $report->mm_msg_id( $params{mm_msg_id} ) if $params{mm_msg_id}=~/^\d+$/; - my $areas = $c->stash->{all_areas}; $report->areas( ',' . join( ',', sort keys %$areas ) . ',' ); @@ -1004,6 +1001,12 @@ sub save_user_and_report : Private { # Set unknown to DB unknown $report->council( undef ) if $report->council eq '-1'; + # if there is a Message Manager message ID, pass it back to the client view + if ($c->req->param('mm_msg_id')=~/^\d+$/) { + $c->stash->{mm_msg_id} = $c->req->param('mm_msg_id'); + $report->mm_msg_id( $c->req->param('mm_msg_id') ); + } + # save the report; $report->in_storage ? $report->update : $report->insert(); -- cgit v1.2.3 From 8c297f3f178dc8e3678ab28d5d686d2ee542d96c Mon Sep 17 00:00:00 2001 From: Dave Whiteland Date: Thu, 12 Jul 2012 11:50:58 +0100 Subject: changed mm_msg_id to external_source_id, and added external_source col --- perllib/FixMyStreet/App/Controller/Report/New.pm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'perllib/FixMyStreet/App/Controller/Report') diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index 011e9e4b6..b0b338c69 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -1002,11 +1002,12 @@ sub save_user_and_report : Private { $report->council( undef ) if $report->council eq '-1'; # if there is a Message Manager message ID, pass it back to the client view - if ($c->req->param('mm_msg_id')=~/^\d+$/) { - $c->stash->{mm_msg_id} = $c->req->param('mm_msg_id'); - $report->mm_msg_id( $c->req->param('mm_msg_id') ); - } - + if ($c->cobrand->moniker eq 'fixmybarangay' && $c->req->param('external_source_id')=~/^\d+$/) { + $c->stash->{external_source_id} = $c->req->param('external_source_id'); + $report->external_source_id( $c->req->param('external_source_id') ); + $report->external_source( $c->config->{MESSAGE_MANAGER_URL} ) ; + } + # save the report; $report->in_storage ? $report->update : $report->insert(); @@ -1071,8 +1072,8 @@ sub redirect_or_confirm_creation : Private { $c->forward( 'create_reporter_alert' ); my $report_uri; - if ( $c->cobrand->moniker eq 'fixmybarangay' && $c->user->from_council && $c->stash->{mm_msg_id}) { - $report_uri = $c->uri_for( '/report', $report->id, undef, { mm_msg_id => $c->stash->{mm_msg_id} } ); + if ( $c->cobrand->moniker eq 'fixmybarangay' && $c->user->from_council && $c->stash->{external_source_id}) { + $report_uri = $c->uri_for( '/report', $report->id, undef, { external_source_id => $c->stash->{external_source_id} } ); } else { $report_uri = $c->uri_for( '/report', $report->id ); } -- cgit v1.2.3 From ce3622a64d372eb4ee0c3a27f943061a434e06e4 Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Thu, 23 Aug 2012 16:27:00 +0100 Subject: allow adding of message manager messages as updates rather than as issues --- perllib/FixMyStreet/App/Controller/Report/Update.pm | 1 + 1 file changed, 1 insertion(+) (limited to 'perllib/FixMyStreet/App/Controller/Report') diff --git a/perllib/FixMyStreet/App/Controller/Report/Update.pm b/perllib/FixMyStreet/App/Controller/Report/Update.pm index c49123a90..1141e213a 100644 --- a/perllib/FixMyStreet/App/Controller/Report/Update.pm +++ b/perllib/FixMyStreet/App/Controller/Report/Update.pm @@ -348,6 +348,7 @@ sub redirect_or_confirm_creation : Private { if ( $update->confirmed ) { $c->forward( 'update_problem' ); $c->forward( 'signup_for_alerts' ); + my $report_uri = $c->cobrand->base_url_for_report( $update->problem ) . $update->problem->url; $c->res->redirect($report_uri); $c->detach; -- cgit v1.2.3 From 0e87fe14208bb20c4e901ba49c97df91c05e9fd5 Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Fri, 24 Aug 2012 16:10:37 +0100 Subject: adding text from a message manager message increments supporter count --- perllib/FixMyStreet/App/Controller/Report/Update.pm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'perllib/FixMyStreet/App/Controller/Report') diff --git a/perllib/FixMyStreet/App/Controller/Report/Update.pm b/perllib/FixMyStreet/App/Controller/Report/Update.pm index 1141e213a..39d0ab225 100644 --- a/perllib/FixMyStreet/App/Controller/Report/Update.pm +++ b/perllib/FixMyStreet/App/Controller/Report/Update.pm @@ -76,6 +76,10 @@ sub update_problem : Private { $problem->state('confirmed'); } + if ( $c->cobrand->can_support_problems && $c->user && $c->user->from_council && $c->req->param('external_source_id') ) { + $problem->interest_count( $problem->interest_count + 1 ); + } + $problem->lastupdate( \'ms_current_timestamp()' ); $problem->update; -- cgit v1.2.3 From 9e7edef8733f26a81e12f9544d136b43f3f8e9cd Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Wed, 29 Aug 2012 18:07:04 +0100 Subject: Fix other part of race condition --- perllib/FixMyStreet/App/Controller/Report/Update.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'perllib/FixMyStreet/App/Controller/Report') diff --git a/perllib/FixMyStreet/App/Controller/Report/Update.pm b/perllib/FixMyStreet/App/Controller/Report/Update.pm index 39d0ab225..da4cc33ca 100644 --- a/perllib/FixMyStreet/App/Controller/Report/Update.pm +++ b/perllib/FixMyStreet/App/Controller/Report/Update.pm @@ -77,7 +77,7 @@ sub update_problem : Private { } if ( $c->cobrand->can_support_problems && $c->user && $c->user->from_council && $c->req->param('external_source_id') ) { - $problem->interest_count( $problem->interest_count + 1 ); + $problem->interest_count( \'interest_count + 1' ); } $problem->lastupdate( \'ms_current_timestamp()' ); -- cgit v1.2.3