diff options
author | Dave Arter <davea@mysociety.org> | 2016-10-19 13:51:19 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2016-10-26 16:22:14 +0100 |
commit | 428466512607541a1d82de6e721439a0d0e7446c (patch) | |
tree | 97d4c9ba85670cbd4482ca16c2badb38398cb9b4 /perllib/FixMyStreet/App/Controller/Report.pm | |
parent | e1636f3c8cb837c3debe28da7532778493ebad54 (diff) |
Redirect to correct cobrand when category changed.
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Report.pm')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report.pm | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report.pm b/perllib/FixMyStreet/App/Controller/Report.pm index f69bdc8c0..73479c584 100644 --- a/perllib/FixMyStreet/App/Controller/Report.pm +++ b/perllib/FixMyStreet/App/Controller/Report.pm @@ -390,7 +390,17 @@ sub inspect : Private { anonymous => 0, } ); } - $c->res->redirect( $c->uri_for( '/report', $problem->id ) ); + # This problem might no longer be visible on the current cobrand, + # if its body has changed (e.g. by virtue of the category changing) + # so redirect to a cobrand where it can be seen if necessary + my $redirect_uri; + if ( $c->cobrand->is_council && !$c->cobrand->owns_problem($problem) ) { + $redirect_uri = $c->cobrand->base_url_for_report( $problem ) . $problem->url; + } else { + $redirect_uri = $c->uri_for( $problem->url ); + } + $c->log->debug( "Redirecting to: " . $redirect_uri ); + $c->res->redirect( $redirect_uri ); } } }; |