diff options
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report.pm | 29 | ||||
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report/Update.pm | 10 |
2 files changed, 23 insertions, 16 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report.pm b/perllib/FixMyStreet/App/Controller/Report.pm index ee0d03b5b..fd9c1f1e7 100644 --- a/perllib/FixMyStreet/App/Controller/Report.pm +++ b/perllib/FixMyStreet/App/Controller/Report.pm @@ -159,8 +159,9 @@ sub format_problem_for_display : Private { $c->stash->{allow_photo_upload} = $c->cobrand->allow_photo_display; # FIXME? - $c->stash->{cobrand_alert_fields} = $c->cobrand->form_elements( '/alerts' ); - $c->stash->{cobrand_update_fields} = $c->cobrand->form_elements( '/updateForm' ); + $c->stash->{cobrand_alert_fields} = $c->cobrand->form_elements('/alerts'); + $c->stash->{cobrand_update_fields} = + $c->cobrand->form_elements('/updateForm'); ( $c->stash->{short_latitude}, $c->stash->{short_longitude} ) = map { Utils::truncate_coordinate($_) } @@ -168,19 +169,23 @@ sub format_problem_for_display : Private { $c->stash->{report_name} = $c->req->param('name'); - if ( $c->req->param('submit_update' ) ) { - $c->stash->{form_name} = $c->req->param('name'); - $c->stash->{update} = $c->req->param('update'); - $c->stash->{email} = $c->req->param('rznvy'); - $c->stash->{fixed} = $c->req->param('fixed') ? ' checked' : ''; - $c->stash->{add_alert} = $c->req->param('add_alert') ? ' checked' : ''; - } else { + if ( $c->req->param('submit_update') ) { + # we may have munged these previously in /report/update + # so only set if they're not already in the stash + $c->stash->{form_name} ||= $c->req->param('name'); + $c->stash->{update_text} ||= $c->req->param('update'); + $c->stash->{email} ||= $c->req->param('rznvy'); + $c->stash->{fixed} ||= $c->req->param('fixed') ? ' checked' : ''; + $c->stash->{add_alert_checked} ||= + ( $c->req->param('add_alert') ? ' checked' : '' ); + } + else { if ( $c->user ) { - $c->stash->{form_name} = $c->user->name; - $c->stash->{email} = $c->user->email; + $c->stash->{form_name} = $c->user->name; + $c->stash->{email} = $c->user->email; $c->stash->{may_show_name} = ' checked' if $c->user->name; } - $c->stash->{add_alert} = ' checked'; + $c->stash->{add_alert_checked} = ' checked'; } $c->forward('generate_map_tags'); diff --git a/perllib/FixMyStreet/App/Controller/Report/Update.pm b/perllib/FixMyStreet/App/Controller/Report/Update.pm index 234b0021c..3d575f6a5 100644 --- a/perllib/FixMyStreet/App/Controller/Report/Update.pm +++ b/perllib/FixMyStreet/App/Controller/Report/Update.pm @@ -130,6 +130,7 @@ sub process_user : Private { unless $update_user->name; $c->stash->{update_user} = $update_user; + $c->stash->{email} = $update_user->email; return 1; } @@ -153,11 +154,11 @@ sub process_update : Private { $params{update} = Utils::cleanup_text( $params{update}, { allow_multiline => 1 } ); - my $name = Utils::trim_text( $params{ name } ); + my $name = Utils::trim_text( $params{name} ); my $anonymous = 't'; - $anonymous = 'f' if ( $name && $c->req->param('may_show_name' ) ); + $anonymous = 'f' if ( $name && $c->req->param('may_show_name') ); my $update = $c->model('DB::Comment')->new( { @@ -174,8 +175,9 @@ sub process_update : Private { } ); - $c->stash->{update} = $update; - $c->stash->{add_alert} = $c->req->param('add_alert'); + $c->stash->{update} = $update; + $c->stash->{update_text} = $update->text; + $c->stash->{add_alert} = $c->req->param('add_alert'); $c->stash->{may_show_name} = ' checked' if $c->req->param('may_show_name'); return 1; |