[LON-CAPA-cvs] cvs: loncom(loncapaMITrelate_1) /auth lonauth.pm
raeburn
raeburn at source.lon-capa.org
Thu Feb 9 17:01:34 EST 2012
raeburn Thu Feb 9 22:01:34 2012 EDT
Modified files: (Branch: loncapaMITrelate_1)
/loncom/auth lonauth.pm
Log:
- Customization for MITrelate
- Backport 1.111.
- Fix refs -- cancreate is an array ref; form is a HASH ref.
- Pass domain description as additional arg in calls to &create_account()
Index: loncom/auth/lonauth.pm
diff -u loncom/auth/lonauth.pm:1.101.8.9.2.1 loncom/auth/lonauth.pm:1.101.8.9.2.2
--- loncom/auth/lonauth.pm:1.101.8.9.2.1 Mon Feb 6 03:27:59 2012
+++ loncom/auth/lonauth.pm Thu Feb 9 22:01:34 2012
@@ -1,7 +1,7 @@
# The LearningOnline Network
# User Authentication Module
#
-# $Id: lonauth.pm,v 1.101.8.9.2.1 2012/02/06 03:27:59 raeburn Exp $
+# $Id: lonauth.pm,v 1.101.8.9.2.2 2012/02/09 22:01:34 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -82,9 +82,13 @@
my $now=time;
my $then=$env{'user.login.time'};
my $refresh=$env{'user.refresh.time'};
+ my $update=$env{'user.update.time'};
+ if (!$update) {
+ $update = $then;
+ }
if (exists($env{$envkey})) {
my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus);
- &Apache::lonnet::role_status($envkey,$then,$refresh,$now,\$role,\$where,
+ &Apache::lonnet::role_status($envkey,$update,$refresh,$now,\$role,\$where,
\$trolecode,\$tstatus,\$tstart,\$tend);
if ($tstatus eq 'is') {
$destination .= ($destination =~ /\?/) ? '&' : '?';
@@ -111,6 +115,10 @@
$destination .= '&destinationurl='.$destsymb;
}
}
+ if ($destination =~ m{^/adm/roles}) {
+ $destination .= ($destination =~ /\?/) ? '&' : '?';
+ $destination .= 'source=login';
+ }
my $windowinfo=&Apache::lonmenu::open($env{'browser.os'});
my $startupremote=&Apache::lonmenu::startupremote($destination);
@@ -334,6 +342,7 @@
# ---------------------------------------------------------------- Authenticate
my %domconfig = &Apache::lonnet::get_dom('configuration',['usercreation'],$form{'udom'});
+ my $domdesc = &Apache::lonnet::domain($form{'udom'},'description');
my ($cancreate,$statustocreate) =
&Apache::createaccount::get_creation_controls($form{'udom'},$domconfig{'usercreation'});
my $defaultauth;
@@ -364,14 +373,14 @@
\%form);
return OK;
} elsif ($authhost eq 'no_account_on_host') {
- &create_account($r,\%form,\@cancreate,$lc_uname,$contact_name);
+ &create_account($r,\%form,$cancreate,$lc_uname,$contact_name,$domdesc);
return OK;
} else {
$form{'uname'} = $lc_uname;
}
}
} elsif ($authhost eq 'no_account_on_host') {
- &create_account($r,\%form,\@cancreate,$uname,$contact_name);
+ &create_account($r,\%form,$cancreate,$uname,$contact_name,$domdesc);
return OK;
}
@@ -416,7 +425,7 @@
}
return OK;
} else {
- if (!&check_can_host($r,\%form,$authhost)) {
+ if (!&check_can_host($r,\%form,$authhost,$domdesc)) {
my ($otherserver) = &Apache::lonnet::choose_server($form{'udom'});
if ($otherserver) {
&success($r,$form{'uname'},$form{'udom'},$authhost,'noredirect',undef,
@@ -533,15 +542,14 @@
}
sub create_account {
- my ($r,$form,$cancreate,$uname,$contact_name) = @_;
+ my ($r,$form,$cancreate,$uname,$contact_name,$domdesc) = @_;
return unless((ref($form) eq 'HASH') && (ref($cancreate) eq 'ARRAY'));
my %domconfig =
&Apache::lonnet::get_dom('configuration',['usercreation'],$form->{'udom'});
- if (&check_can_host($r,\%form,'no_account_on_host',$domdesc)) {
+ if (&check_can_host($r,$form,'no_account_on_host',$domdesc)) {
my $start_page =
&Apache::loncommon::start_page('Create a user account in LON-CAPA',
'',{'no_inline_link' => 1,});
- my $domdesc = &Apache::lonnet::domain($form->{'udom'},'description');
my $lonhost = $r->dir_config('lonHostID');
my $origmail = $Apache::lonnet::perlvar{'lonSupportEMail'};
my $contacts =
More information about the LON-CAPA-cvs
mailing list