version 1.66, 2008/07/21 16:24:31
|
version 1.68, 2008/09/19 03:27:04
|
Line 42 use LONCAPA::Enrollment;
|
Line 42 use LONCAPA::Enrollment;
|
use File::Copy; |
use File::Copy; |
use Locale::Language; |
use Locale::Language; |
use DateTime::TimeZone; |
use DateTime::TimeZone; |
|
use DateTime::Locale; |
|
|
sub handler { |
sub handler { |
my $r=shift; |
my $r=shift; |
Line 80 sub handler {
|
Line 81 sub handler {
|
my %prefs = ( |
my %prefs = ( |
'rolecolors' => |
'rolecolors' => |
{ text => 'Default color schemes', |
{ text => 'Default color schemes', |
help => 'Domconfig_Color_Schemes', |
help => 'Domain_Configuration_Color_Schemes', |
header => [{col1 => 'Student Settings', |
header => [{col1 => 'Student Settings', |
col2 => '',}, |
col2 => '',}, |
{col1 => 'Coordinator Settings', |
{col1 => 'Coordinator Settings', |
Line 92 sub handler {
|
Line 93 sub handler {
|
}, |
}, |
'login' => |
'login' => |
{ text => 'Log-in page options', |
{ text => 'Log-in page options', |
help => 'Domconfig_Login_Page', |
help => 'Domain_Configuration_Login_Page', |
header => [{col1 => 'Item', |
header => [{col1 => 'Item', |
col2 => '',}], |
col2 => '',}], |
}, |
}, |
'defaults' => |
'defaults' => |
{ text => 'Default authentication/language/timezone', |
{ text => 'Default authentication/language/timezone', |
help => 'Domconfig_LangTZAuth', |
help => 'Domain_Configuration_LangTZAuth', |
header => [{col1 => 'Setting', |
header => [{col1 => 'Setting', |
col2 => 'Value'}], |
col2 => 'Value'}], |
}, |
}, |
'quotas' => |
'quotas' => |
{ text => 'Default quotas for user portfolios', |
{ text => 'Default quotas for user portfolios', |
help => 'Domconfig_Quotas', |
help => 'Domain_Configuration_Quotas', |
header => [{col1 => 'User type', |
header => [{col1 => 'User type', |
col2 => 'Default quota'}], |
col2 => 'Default quota'}], |
}, |
}, |
'autoenroll' => |
'autoenroll' => |
{ text => 'Auto-enrollment settings', |
{ text => 'Auto-enrollment settings', |
help => 'Domconfig_Auto_Enrollment', |
help => 'Domain_Configuration_Auto_Enrollment', |
header => [{col1 => 'Configuration setting', |
header => [{col1 => 'Configuration setting', |
col2 => 'Value(s)'}], |
col2 => 'Value(s)'}], |
}, |
}, |
'autoupdate' => |
'autoupdate' => |
{ text => 'Auto-update settings', |
{ text => 'Auto-update settings', |
help => 'Domconfig_Auto_Updates', |
help => 'Domain_Configuration_Auto_Updates', |
header => [{col1 => 'Setting', |
header => [{col1 => 'Setting', |
col2 => 'Value',}, |
col2 => 'Value',}, |
{col1 => 'User population', |
{col1 => 'User population', |
Line 124 sub handler {
|
Line 125 sub handler {
|
}, |
}, |
'directorysrch' => |
'directorysrch' => |
{ text => 'Institutional directory searches', |
{ text => 'Institutional directory searches', |
help => 'Domconfig_InstDirectory_Search', |
help => 'Domain_Configuration_InstDirectory_Search', |
header => [{col1 => 'Setting', |
header => [{col1 => 'Setting', |
col2 => 'Value',}], |
col2 => 'Value',}], |
}, |
}, |
'contacts' => |
'contacts' => |
{ text => 'Contact Information', |
{ text => 'Contact Information', |
help => 'Domconfig_Contact_Info', |
help => 'Domain_Configuration_Contact_Info', |
header => [{col1 => 'Setting', |
header => [{col1 => 'Setting', |
col2 => 'Value',}], |
col2 => 'Value',}], |
}, |
}, |
|
|
'usercreation' => |
'usercreation' => |
{ text => 'User creation', |
{ text => 'User creation', |
help => 'Domconfig_User_Creation', |
help => 'Domain_Configuration_User_Creation', |
header => [{col1 => 'Format rule type', |
header => [{col1 => 'Format rule type', |
col2 => 'Format rules in force'}, |
col2 => 'Format rules in force'}, |
{col1 => 'User account creation', |
{col1 => 'User account creation', |
Line 147 sub handler {
|
Line 148 sub handler {
|
}, |
}, |
'usermodification' => |
'usermodification' => |
{ text => 'User modification', |
{ text => 'User modification', |
help => 'Domconfig_User_Modification', |
help => 'Domain_Configuration_User_Modification', |
header => [{col1 => 'Target user has role', |
header => [{col1 => 'Target user has role', |
col2 => 'User information updateable in author context'}, |
col2 => 'User information updateable in author context'}, |
{col1 => 'Target user has role', |
{col1 => 'Target user has role', |
Line 157 sub handler {
|
Line 158 sub handler {
|
}, |
}, |
'scantron' => |
'scantron' => |
{ text => 'Scantron format file', |
{ text => 'Scantron format file', |
help => 'Domconfig_Scantron_Format', |
help => 'Domain_Configuration_Scantron_Format', |
header => [ {col1 => 'Item', |
header => [ {col1 => 'Item', |
col2 => '', |
col2 => '', |
}], |
}], |
}, |
}, |
'coursecategories' => |
'coursecategories' => |
{ text => 'Cataloging of courses', |
{ text => 'Cataloging of courses', |
help => 'Domconfig_Cataloging_Courses', |
help => 'Domain_Configuration_Cataloging_Courses', |
header => [{col1 => 'Category settings', |
header => [{col1 => 'Category settings', |
col2 => '',}, |
col2 => '',}, |
{col1 => 'Categories', |
{col1 => 'Categories', |
Line 1823 sub print_usermodification {
|
Line 1824 sub print_usermodification {
|
|
|
sub print_defaults { |
sub print_defaults { |
my ($dom,$rowtotal) = @_; |
my ($dom,$rowtotal) = @_; |
my @items = ('auth_def','auth_arg_def','lang_def','timezone_def'); |
my @items = ('auth_def','auth_arg_def','lang_def','timezone_def', |
|
'datelocale_def'); |
my %domdefaults = &Apache::lonnet::get_domain_defaults($dom); |
my %domdefaults = &Apache::lonnet::get_domain_defaults($dom); |
my $titles = &defaults_titles(); |
my $titles = &defaults_titles(); |
my $rownum = 0; |
my $rownum = 0; |
Line 1858 sub print_defaults {
|
Line 1860 sub print_defaults {
|
} elsif ($item eq 'timezone_def') { |
} elsif ($item eq 'timezone_def') { |
my $includeempty = 1; |
my $includeempty = 1; |
$datatable .= &Apache::loncommon::select_timezone($item,$domdefaults{$item},undef,$includeempty); |
$datatable .= &Apache::loncommon::select_timezone($item,$domdefaults{$item},undef,$includeempty); |
|
} elsif ($item eq 'datelocale_def') { |
|
my $includeempty = 1; |
|
$datatable .= &Apache::loncommon::select_datelocale($item,$domdefaults{$item},undef,$includeempty); |
} else { |
} else { |
$datatable .= '<input type="text" name="'.$item.'" value="'. |
$datatable .= '<input type="text" name="'.$item.'" value="'. |
$domdefaults{$item}.'" />'; |
$domdefaults{$item}.'" />'; |
Line 1875 sub defaults_titles {
|
Line 1880 sub defaults_titles {
|
'auth_arg_def' => 'Default authentication argument', |
'auth_arg_def' => 'Default authentication argument', |
'lang_def' => 'Default language', |
'lang_def' => 'Default language', |
'timezone_def' => 'Default timezone', |
'timezone_def' => 'Default timezone', |
|
'datelocale_def' => 'Default locale for dates', |
); |
); |
return (\%titles); |
return (\%titles); |
} |
} |
Line 4251 sub modify_defaults {
|
Line 4257 sub modify_defaults {
|
my ($dom,$r) = @_; |
my ($dom,$r) = @_; |
my ($resulttext,$mailmsgtxt,%newvalues,%changes,@errors); |
my ($resulttext,$mailmsgtxt,%newvalues,%changes,@errors); |
my %domdefaults = &Apache::lonnet::get_domain_defaults($dom); |
my %domdefaults = &Apache::lonnet::get_domain_defaults($dom); |
my @items = ('auth_def','auth_arg_def','lang_def','timezone_def'); |
my @items = ('auth_def','auth_arg_def','lang_def','timezone_def','datelocale_def'); |
my @authtypes = ('internal','krb4','krb5','localauth'); |
my @authtypes = ('internal','krb4','krb5','localauth'); |
foreach my $item (@items) { |
foreach my $item (@items) { |
$newvalues{$item} = $env{'form.'.$item}; |
$newvalues{$item} = $env{'form.'.$item}; |
Line 4278 sub modify_defaults {
|
Line 4284 sub modify_defaults {
|
push(@errors,$item); |
push(@errors,$item); |
} |
} |
} |
} |
|
} elsif ($item eq 'datelocale_def') { |
|
if ($newvalues{$item} ne '') { |
|
my @datelocale_ids = DateTime::Locale->ids(); |
|
if (!grep(/^\Q$newvalues{$item}\E$/,@datelocale_ids)) { |
|
push(@errors,$item); |
|
} |
|
} |
} |
} |
if (grep(/^\Q$item\E$/,@errors)) { |
if (grep(/^\Q$item\E$/,@errors)) { |
$newvalues{$item} = $domdefaults{$item}; |
$newvalues{$item} = $domdefaults{$item}; |
Line 4290 sub modify_defaults {
|
Line 4303 sub modify_defaults {
|
auth_arg_def => $newvalues{'auth_arg_def'}, |
auth_arg_def => $newvalues{'auth_arg_def'}, |
lang_def => $newvalues{'lang_def'}, |
lang_def => $newvalues{'lang_def'}, |
timezone_def => $newvalues{'timezone_def'}, |
timezone_def => $newvalues{'timezone_def'}, |
|
datelocale_def => $newvalues{'datelocale_def'}, |
} |
} |
); |
); |
my $title = &defaults_titles(); |
my $title = &defaults_titles(); |
Line 4322 sub modify_defaults {
|
Line 4336 sub modify_defaults {
|
my $cachetime = 24*60*60; |
my $cachetime = 24*60*60; |
&Apache::lonnet::do_cache_new('domdefaults',$dom, |
&Apache::lonnet::do_cache_new('domdefaults',$dom, |
$defaults_hash{'defaults'},$cachetime); |
$defaults_hash{'defaults'},$cachetime); |
if ($changes{'auth_def'} || $changes{'auth_arg_def'} || $changes{'lang_def'}) { |
if ($changes{'auth_def'} || $changes{'auth_arg_def'} || $changes{'lang_def'} || $changes{'datelocale_def'}) { |
my $sysmail = $r->dir_config('lonSysEMail'); |
my $sysmail = $r->dir_config('lonSysEMail'); |
&Apache::lonmsg::sendemail($sysmail,"LON-CAPA Domain Settings Change - $dom",$mailmsgtext); |
&Apache::lonmsg::sendemail($sysmail,"LON-CAPA Domain Settings Change - $dom",$mailmsgtext); |
} |
} |