--- loncom/interface/resetpw.pm 2009/10/01 17:22:13 1.19
+++ loncom/interface/resetpw.pm 2009/10/08 19:54:37 1.20
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Allow access to password changing via a token sent to user's e-mail.
#
-# $Id: resetpw.pm,v 1.19 2009/10/01 17:22:13 raeburn Exp $
+# $Id: resetpw.pm,v 1.20 2009/10/08 19:54:37 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -271,10 +271,24 @@ sub reset_passwd {
}
$msg .= '
'
.''.&mt('Go to the login page').'.';
+ } elsif ($change_failed eq 'invalid_client') {
+ my $homeserver = &Apache::lonnet::homeserver($data{'username'},$data{'domain'});
+ if ($homeserver eq 'no_host') {
+ $msg .= &generic_failure_msg($contact_name,$contact_email);
+ } else {
+ my $protocol = $Apache::lonnet::protocol{$homeserver};
+ $protocol = 'http' if ($protocol ne 'https');
+ my $url = $protocol.'://'.&Apache::lonnet::hostname($homeserver).
+ '/adm/resetpw';
+ my ($opentag,$closetag);
+ if ($url) {
+ $opentag = '';
+ $closetag = '';
+ }
+ $msg .= &mt('A problem occurred when attempting to reset the password for your account. Please try again from your [_1]home server[_2].',$opentag,$closetag);
+ }
} else {
- $msg .= &mt('A problem occurred when attempting to reset the password for your account. Please contact the [_1] - ([_2]) for assistance.'
- ,$contact_name
- ,''.$contact_email.'');
+ $msg .= &generic_failure_msg($contact_name,$contact_email);
}
} else {
$r->print(&mt('The token included in an e-mail sent to you [_1] has been verified, so you may now proceed to reset the password for your LON-CAPA account.',$reqtime).'
');
@@ -292,6 +306,12 @@ sub reset_passwd {
return $msg;
}
+sub generic_failure_msg {
+ my ($contact_name,$contact_email) = @_;
+ return &mt('A problem occurred when attempting to reset the password for your account. Please contact the [_1] - ([_2]) for assistance.',
+ $contact_name,''.$contact_email.'');
+}
+
sub create_passwd {
my $passwd = '';
my @letts = ("a".."z");