diff options
author | Ivan Kohler <ivan@freeside.biz> | 2014-12-28 14:19:44 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2014-12-28 14:19:44 -0800 |
commit | 8c6df81f77cf069afbf8d84eb62e7dcebb6f935f (patch) | |
tree | 1d4679f38048c0d089b9c4b8dc510b690b364615 /fs_selfservice | |
parent | c56265c1ca8b9ce335c660f6f763fe1d8d61aa0f (diff) |
fix contact self-service password reset link vs. outlook, RT#32657
Diffstat (limited to 'fs_selfservice')
-rwxr-xr-x | fs_selfservice/FS-SelfService/cgi/selfservice.cgi | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi index b008fbf8b..4ccf1de82 100755 --- a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi +++ b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi @@ -88,12 +88,17 @@ my @nologin_actions = (qw( do_forgot_password process_forgot_password do_process_forgot_password + process_forgot_password_session )); push @actions, @nologin_actions; my %nologin_actions = map { $_=>1 } @nologin_actions; my $action = 'myaccount'; # sensible default -if ( $cgi->param('action') =~ /^(\w+)$/ ) { + +if ( $cgi->param('action') =~ /^process_forgot_password_session_(\w+)$/ ) { + $action = 'process_forgot_password_session'; + $session_id = $1; +} elsif ( $cgi->param('action') =~ /^(\w+)$/ ) { if (grep {$_ eq $1} @actions) { $action = $1; } else { @@ -1051,6 +1056,12 @@ sub process_forgot_password { ); } +sub process_forgot_password_session { + check_reset_passwd( + 'session_id' => $session_id, + ); +} + sub do_process_forgot_password { process_reset_passwd( map { $_ => scalar($cgi->param($_)) } |