[LON-CAPA-cvs] cvs: loncom /interface domainprefs.pm loncoursequeueadmin.pm
raeburn
raeburn@source.lon-capa.org
Wed, 08 Dec 2010 03:38:47 -0000
This is a MIME encoded message
--raeburn1291779527
Content-Type: text/plain
raeburn Wed Dec 8 03:38:47 2010 EDT
Modified files:
/loncom/interface domainprefs.pm loncoursequeueadmin.pm
Log:
- Domain configuration for portal or default URL, e.g., a loadbalancer
server (e.g., https://loncapa.msu.edu/), or a specific alias on a
multidomain server (e.g., http://elps.loncapa.net/.
- URL included in e-mail sent to confitm self-enrollment etc.
--raeburn1291779527
Content-Type: text/plain
Content-Disposition: attachment; filename="raeburn-20101208033847.txt"
Index: loncom/interface/domainprefs.pm
diff -u loncom/interface/domainprefs.pm:1.140 loncom/interface/domainprefs.pm:1.141
--- loncom/interface/domainprefs.pm:1.140 Tue Oct 5 18:42:45 2010
+++ loncom/interface/domainprefs.pm Wed Dec 8 03:38:46 2010
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: domainprefs.pm,v 1.140 2010/10/05 18:42:45 raeburn Exp $
+# $Id: domainprefs.pm,v 1.141 2010/12/08 03:38:46 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -230,7 +230,7 @@
},
'defaults' =>
- { text => 'Default authentication/language/timezone',
+ { text => 'Default authentication/language/timezone/portal',
help => 'Domain_Configuration_LangTZAuth',
header => [{col1 => 'Setting',
col2 => 'Value'}],
@@ -351,7 +351,7 @@
header => [{col1 => 'Setting',
col2 => 'Value',}],
},
- 'usersessions' =>
+ 'usersessions' =>
{text => 'User session hosting',
help => 'Domain_Configuration_User_Sessions',
header => [{col1 => 'Hosting of users from other domains',
@@ -2825,9 +2825,9 @@
sub print_defaults {
my ($dom,$rowtotal) = @_;
my @items = ('auth_def','auth_arg_def','lang_def','timezone_def',
- 'datelocale_def');
+ 'datelocale_def','portal_def');
my %domdefaults = &Apache::lonnet::get_domain_defaults($dom);
- my $titles = &defaults_titles();
+ my $titles = &defaults_titles($dom);
my $rownum = 0;
my ($datatable,$css_class);
foreach my $item (@items) {
@@ -2864,8 +2864,12 @@
my $includeempty = 1;
$datatable .= &Apache::loncommon::select_datelocale($item,$domdefaults{$item},undef,$includeempty);
} else {
+ my $size;
+ if ($item eq 'portal_def') {
+ $size = ' size="25"';
+ }
$datatable .= '<input type="text" name="'.$item.'" value="'.
- $domdefaults{$item}.'" />';
+ $domdefaults{$item}.'"'.$size.' />';
}
$datatable .= '</td></tr>';
$rownum ++;
@@ -2875,13 +2879,25 @@
}
sub defaults_titles {
+ my ($dom) = @_;
my %titles = &Apache::lonlocal::texthash (
'auth_def' => 'Default authentication type',
'auth_arg_def' => 'Default authentication argument',
'lang_def' => 'Default language',
'timezone_def' => 'Default timezone',
'datelocale_def' => 'Default locale for dates',
+ 'portal_def' => 'Portal/Default URL',
);
+ if ($dom) {
+ my $uprimary_id = &Apache::lonnet::domain($dom,'primary');
+ my $uint_dom = &Apache::lonnet::internet_dom($uprimary_id);
+ my $protocol = $Apache::lonnet::protocol{$uprimary_id};
+ $protocol = 'http' if ($protocol ne 'https');
+ if ($uint_dom) {
+ $titles{'portal_def'} .= ' '.&mt('(for example: [_1])',$protocol.'://loncapa.'.
+ $uint_dom);
+ }
+ }
return (\%titles);
}
@@ -6017,7 +6033,7 @@
my ($dom,$r) = @_;
my ($resulttext,$mailmsgtxt,%newvalues,%changes,@errors);
my %domdefaults = &Apache::lonnet::get_domain_defaults($dom);
- my @items = ('auth_def','auth_arg_def','lang_def','timezone_def','datelocale_def');
+ my @items = ('auth_def','auth_arg_def','lang_def','timezone_def','datelocale_def','portal_def');
my @authtypes = ('internal','krb4','krb5','localauth');
foreach my $item (@items) {
$newvalues{$item} = $env{'form.'.$item};
@@ -6053,6 +6069,12 @@
push(@errors,$item);
}
}
+ } elsif ($item eq 'portal_def') {
+ if ($newvalues{$item} ne '') {
+ unless ($newvalues{$item} =~ /^https?\:\/\/(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])\/?$/) {
+ push(@errors,$item);
+ }
+ }
}
if (grep(/^\Q$item\E$/,@errors)) {
$newvalues{$item} = $domdefaults{$item};
Index: loncom/interface/loncoursequeueadmin.pm
diff -u loncom/interface/loncoursequeueadmin.pm:1.24 loncom/interface/loncoursequeueadmin.pm:1.25
--- loncom/interface/loncoursequeueadmin.pm:1.24 Tue Mar 30 16:02:27 2010
+++ loncom/interface/loncoursequeueadmin.pm Wed Dec 8 03:38:46 2010
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Utilities to administer domain course requests and course self-enroll requests
#
-# $Id: loncoursequeueadmin.pm,v 1.24 2010/03/30 16:02:27 raeburn Exp $
+# $Id: loncoursequeueadmin.pm,v 1.25 2010/12/08 03:38:46 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -451,7 +451,7 @@
@existing,@missingreq,@invalidusers,@limitexceeded,@completed,
@processing_errors,@warn_approves,@warn_rejects,@approvals,@warn_dels,
@rejections,@rejectionerrors,@nopermissions,%courseroles,
- %communityroles,%domdefs,%approvalmsg,%rejectionmsg,$crstype,$queue);
+ %communityroles,%domdefs,%approvalmsg,%rejectionmsg,$crstype,$queue,$firsturl);
@approvals = &Apache::loncommon::get_env_multiple('form.approvereq');
@rejections = &Apache::loncommon::get_env_multiple('form.rejectreq');
$now = time;
@@ -465,6 +465,12 @@
$hostname = &Apache::lonnet::hostname($chome);
$protocol = $Apache::lonnet::protocol{$chome};
$protocol = 'http' if ($protocol ne 'https');
+ my %domdefaults = &Apache::lonnet::get_domain_defaults($cdom);
+ if ($domdefaults{'portal_def'}) {
+ $firsturl = $domdefaults{'portal_def'};
+ } else {
+ $firsturl = $protocol.'://'.$hostname;
+ }
%requesthash = &Apache::lonnet::dump($namespace,$cdom,$cnum);
$access_start = $env{'course.'.$cid.'.internal.selfenroll_start_access'};
$access_end = $env{'course.'.$cid.'.internal.selfenroll_end_access'};
@@ -477,7 +483,7 @@
},
{
mt => 'Visit [_1], to log-in and access the course',
- args => [$protocol.'://'.$hostname],
+ args => [$firsturl],
}];
$rejectedmsg = [{
mt => 'Your request for enrollment has not been approved.',
@@ -495,6 +501,12 @@
$hostname = &Apache::lonnet::hostname($chome);
$protocol = $Apache::lonnet::protocol{$chome};
$protocol = 'http' if ($protocol ne 'https');
+ my %domdefaults = &Apache::lonnet::get_domain_defaults($cdom);
+ if ($domdefaults{'portal_def'}) {
+ $firsturl = $domdefaults{'portal_def'};
+ } else {
+ $firsturl = $protocol.'://'.$hostname;
+ }
my %domconfig = &Apache::lonnet::get_dom('configuration',['requestcourses'],$cdom);
if (ref($domconfig{'requestcourses'}) eq 'HASH') {
if (ref($domconfig{'requestcourses'}{'notify'}) eq 'HASH') {
@@ -507,7 +519,7 @@
},
{
mt => 'Visit [_1], to log-in and access the course',
- args => [$protocol.'://'.$hostname],
+ args => [$firsturl],
}];
$rejectionmsg{'course'} =
[{
@@ -520,7 +532,7 @@
},
{
mt => 'Visit [_1], to log-in and access the community',
- args => [$protocol.'://'.$hostname],
+ args => [$firsturl],
}];
$rejectionmsg{'community'} =
--raeburn1291779527--