aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App/Controller/Contact.pm
diff options
context:
space:
mode:
authorMatthew Somerville <matthew@mysociety.org>2011-06-03 13:43:36 +0100
committerMatthew Somerville <matthew@mysociety.org>2011-06-03 13:43:36 +0100
commit7b405637a1ac3436cf90acc7d5ad46f1b80c8250 (patch)
tree94759a8b2442e3acd54c464d73d4b3f8f6070eb0 /perllib/FixMyStreet/App/Controller/Contact.pm
parenta0740c6513a2bb21bfbeda02c5fe673a191f72af (diff)
Fix broken contact form report handling, stop HTML injection, and remove old contact code.
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Contact.pm')
-rw-r--r--perllib/FixMyStreet/App/Controller/Contact.pm23
1 files changed, 10 insertions, 13 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Contact.pm b/perllib/FixMyStreet/App/Controller/Contact.pm
index 558a354c6..b179680d0 100644
--- a/perllib/FixMyStreet/App/Controller/Contact.pm
+++ b/perllib/FixMyStreet/App/Controller/Contact.pm
@@ -4,8 +4,6 @@ use namespace::autoclean;
BEGIN { extends 'Catalyst::Controller'; }
-use mySociety::Random qw(random_bytes);
-
=head1 NAME
FixMyStreet::App::Controller::Contact - Catalyst Controller
@@ -43,6 +41,7 @@ sub submit : Path('submit') : Args(0) {
return
unless $c->forward('setup_request')
+ && $c->forward('determine_contact_type')
&& $c->forward('validate')
&& $c->forward('prepare_params_for_email')
&& $c->forward('send_email');
@@ -69,7 +68,7 @@ sub determine_contact_type : Private {
{
'select' => [
'title', 'detail', 'name',
- 'anonymous',
+ 'anonymous', 'id',
'user_id', 'confirmed',
]
}
@@ -85,7 +84,6 @@ sub determine_contact_type : Private {
elsif ($problem) {
$c->stash->{problem} = $problem;
}
- $c->stash->{id} = $id;
}
return 1;
@@ -150,27 +148,26 @@ sub prepare_params_for_email : Private {
$c->stash->{message} =~ s/\r\n/\n/g;
$c->stash->{subject} =~ s/\r|\n/ /g;
- my $base_url = $c->cobrand->base_url_for_emails;
+ my $base_url = $c->cobrand->base_url_for_emails( $c->cobrand->extra_data );
my $admin_base_url = $c->cobrand->admin_base_url
|| 'https://secure.mysociety.org/admin/bci/';
- if ( $c->stash->{problem} and $c->stash->{update} ) {
+ if ( $c->stash->{update} ) {
- # FIXME - correct url here
- my $problem_url = $base_url;
- my $admin_url = $admin_base_url;
+ my $problem_url = $base_url . '/report/' . $c->stash->{update}->problem_id
+ . '#update_' . $c->stash->{update}->id;
+ my $admin_url = $admin_base_url . '?page=update_edit;id=' . $c->stash->{update}->id;
$c->stash->{message} .= sprintf(
" \n\n[ Complaint about update %d on report %d - %s - %s ]",
$c->stash->{update}->id,
- $c->stash->{problem}->id,
+ $c->stash->{update}->problem_id,
$problem_url, $admin_url
);
}
elsif ( $c->stash->{problem} ) {
- # FIXME - correct url here
- my $problem_url = $base_url;
- my $admin_url = $admin_base_url;
+ my $problem_url = $base_url . '/report/' . $c->stash->{problem}->id;
+ my $admin_url = $admin_base_url . '?page=report_edit;id=' . $c->stash->{problem}->id;
$c->stash->{message} .= sprintf(
" \n\n[ Complaint about report %d - %s - %s ]",
$c->stash->{problem}->id,