[LON-CAPA-cvs] cvs: loncom /auth lonauth.pm
raeburn
lon-capa-cvs-allow@mail.lon-capa.org
Thu, 10 Jul 2008 00:26:42 -0000
raeburn Wed Jul 9 20:26:42 2008 EDT
Modified files:
/loncom/auth lonauth.pm
Log:
User account creation cases:
- Updating args sent to &createaccount::username_check() to include $lonhost
and $contact_email.
- Set contact e-mail address to the first address in the comma-separated list
from loncommon::build_recipient_list().
- Adding some header lines and wrapping some messages in <span>s for LC_warning
or LC_error.
- Adding advice on e-mail contacts where createaccount::username_check() returns
checkfail for authenticated user, where account creation is permitted.
Index: loncom/auth/lonauth.pm
diff -u loncom/auth/lonauth.pm:1.92 loncom/auth/lonauth.pm:1.93
--- loncom/auth/lonauth.pm:1.92 Fri May 30 15:09:50 2008
+++ loncom/auth/lonauth.pm Wed Jul 9 20:26:40 2008
@@ -1,7 +1,7 @@
# The LearningOnline Network
# User Authentication Module
#
-# $Id: lonauth.pm,v 1.92 2008/05/30 19:09:50 bisitz Exp $
+# $Id: lonauth.pm,v 1.93 2008/07/10 00:26:40 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -212,6 +212,7 @@
my $role = $r->dir_config('lonRole');
my $domain = $r->dir_config('lonDefDomain');
my $prodir = $r->dir_config('lonUsersDir');
+ my $contact_name = &mt('LON-CAPA helpdesk');
# ---------------------------------------- Get the information from login token
@@ -230,6 +231,10 @@
return OK;
}
}
+ if (!&Apache::lonnet::domain($form{'udom'})) {
+ &failed($r,'The domain you provided is not a valid LON-CAPA domain.',\%form);
+ return OK;
+ }
my ($key,$firsturl)=split(/&/,$tmpinfo);
my $keybin=pack("H16",$key);
@@ -287,18 +292,37 @@
&Apache::loncommon::start_page('Create a user account in LON-CAPA',
'',{'no_inline_link' => 1,});
my $domdesc = &Apache::lonnet::domain($form{'udom'},'description');
- my ($output,$checkfail) = &Apache::createaccount::username_check($form{'uname'},
- $form{'udom'},$domdesc);
+ my $lonhost = $r->dir_config('lonHostID');
+ my $origmail = $Apache::lonnet::perlvar{'lonSupportEMail'};
+ my $contacts =
+ &Apache::loncommon::build_recipient_list(undef,'helpdeskmail',
+ $form{'udom'},$origmail);
+ my ($contact_email) = split(',',$contacts);
+ my ($output,$checkfail) =
+ &Apache::createaccount::username_check($form{'uname'},$form{'udom'},
+ $domdesc,undef,$lonhost,
+ $contact_email);
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
&Apache::createaccount::print_header($r,$start_page);
- my $msg = '<h4>'.&mt('Although your username and password were authenticated, you do not currently have a LON-CAPA account in this domain.').'<br />';
+ my $msg = '<h3>'.&mt('Account creation').'</h3>'.
+ '<span class="LC_cusr_emph">'.&mt('Although your username and password were authenticated, you do not currently have a LON-CAPA account in this domain.').'</span><br />';
if ($checkfail) {
- $msg .= &mt('A LON-CAPA account may not be created with the username you used.');
+ $msg .= '<h4>'.&mt('Account creation unavailable').'</h4>';
+ if ($checkfail eq 'username') {
+ $msg .= '<span class="LC_warning">'.
+ &mt('A LON-CAPA account may not be created with the username you use.').'</span>';
+ } elsif ($checkfail eq 'authtoken') {
+ $msg .= '<span class="LC_error">'.&mt('Error creating token.').'</span>';
+ }
+ &Apache::lonnet::logthis("ERROR: failure type of '$checkfail' when performing username check to create account for authenticated user: $form{'uname'}, in domain $form{'udom'}");
+ $msg .= '<br /><br />'.
+ &mt('Please contact the [_1] ([_2]) for assistance.',
+ $contact_name,$contact_email);
} else {
$msg .= &mt('To create one, use the table below to provide information about yourself (if appropriate), then click the "Create LON-CAPA account" button.');
}
- $r->print('<h4>'.$msg.'</h4>'.$output);
+ $r->print($msg.$output);
$r->print(&Apache::loncommon::end_page());
return OK;
} else {