diff options
author | Dave Whiteland <dave@mysociety.org> | 2013-02-06 15:08:23 +0000 |
---|---|---|
committer | Dave Whiteland <dave@mysociety.org> | 2013-02-06 15:08:23 +0000 |
commit | 0f24a44cd6e8b056db482cb91c85768b6d1e7d1d (patch) | |
tree | 09a90f38574ee62754f3c8ac077152ed99a38296 /perllib/FixMyStreet/App/Controller/Tokens.pm | |
parent | c061769ba72f420e2f2c6064fa526648e57339f1 (diff) | |
parent | 5b2e18389734751165d2eeb21a3b3f2e8d2e8755 (diff) |
Merge remote branch 'origin/master' into oxfordshire-header
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Tokens.pm')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Tokens.pm | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Tokens.pm b/perllib/FixMyStreet/App/Controller/Tokens.pm index 03dc69b00..740822876 100644 --- a/perllib/FixMyStreet/App/Controller/Tokens.pm +++ b/perllib/FixMyStreet/App/Controller/Tokens.pm @@ -53,6 +53,28 @@ sub confirm_problem : Path('/P') { return; } + # For Zurich, email confirmation simply sets a flag, it does not change the + # problem state, log in, or anything else + if ($c->cobrand->moniker eq 'zurich') { + my $extra = { %{ $problem->extra || {} } }; + $extra->{email_confirmed} = 1; + $problem->update( { + extra => $extra, + confirmed => \'ms_current_timestamp()', + } ); + + $c->stash->{report} = $c->stash->{problem}; + $c->forward( '/report/new/create_reporter_alert' ); + + if ( ref($data) && ( $data->{name} || $data->{password} ) ) { + $problem->user->name( $data->{name} ) if $data->{name}; + $problem->user->phone( $data->{phone} ) if $data->{phone}; + $problem->user->update; + } + + return 1; + } + # We have a problem - confirm it if needed! my $old_state = $problem->state; $problem->update( |