--- loncom/interface/domainprefs.pm 2010/03/12 15:01:36 1.131
+++ loncom/interface/domainprefs.pm 2010/04/14 04:27:20 1.134
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: domainprefs.pm,v 1.131 2010/03/12 15:01:36 raeburn Exp $
+# $Id: domainprefs.pm,v 1.134 2010/04/14 04:27:20 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -236,7 +236,7 @@ sub handler {
col2 => 'Value'}],
},
'quotas' =>
- { text => 'User blogs, personal information pages and portfolios',
+ { text => 'User blogs, personal information pages, portfolios',
help => 'Domain_Configuration_Quotas',
header => [{col1 => 'User affiliation',
col2 => 'Available tools',
@@ -364,7 +364,7 @@ sub handler {
my @actions = &Apache::loncommon::get_env_multiple('form.actions');
&Apache::lonhtmlcommon::add_breadcrumb
({href=>"javascript:changePage(document.$phase,'pickactions')",
- text=>"Pick functionality"});
+ text=>"Settings to display/modify"});
my $confname = $dom.'-domainconfig';
if ($phase eq 'process') {
&Apache::lonconfigsettings::make_changes($r,$dom,$phase,$context,\@prefs_order,\%prefs,\%domconfig,$confname,\@roles);
@@ -988,7 +988,7 @@ sub display_color_options {
my ($dom,$confname,$phase,$role,$itemcount,$choices,$is_custom,$defaults,$designs,
$images,$bgs,$links,$alt_text,$rowtotal,$logintext,$loginheader) = @_;
my $css_class = $itemcount%2?' class="LC_odd_row"':'';
- my $datatable = '
'.
+ my $datatable = '
'.
''.$choices->{'font'}.' | ';
if (!$is_custom->{'font'}) {
$datatable .= ''.&mt('Default in use:').' '.$defaults->{'font'}.' | ';
@@ -1825,7 +1825,7 @@ sub print_autoupdate {
$$rowtotal ++;
} else {
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($dom);
- my @fields = ('lastname','firstname','middlename','gen',
+ my @fields = ('lastname','firstname','middlename','generation',
'permanentemail','id');
my %fieldtitles = &Apache::loncommon::personal_data_fieldtitles();
my $numrows = 0;
@@ -2014,12 +2014,13 @@ sub print_contacts {
my ($dom,$settings,$rowtotal) = @_;
my $datatable;
my @contacts = ('adminemail','supportemail');
- my (%checked,%to,%otheremails);
+ my (%checked,%to,%otheremails,%bccemails);
my @mailings = ('errormail','packagesmail','lonstatusmail','helpdeskmail',
'requestsmail');
foreach my $type (@mailings) {
$otheremails{$type} = '';
}
+ $bccemails{'helpdeskmail'} = '';
if (ref($settings) eq 'HASH') {
foreach my $item (@contacts) {
if (exists($settings->{$item})) {
@@ -2035,6 +2036,9 @@ sub print_contacts {
}
}
$otheremails{$type} = $settings->{$type}{'others'};
+ if ($type eq 'helpdeskmail') {
+ $bccemails{$type} = $settings->{$type}{'bcc'};
+ }
}
} elsif ($type eq 'lonstatusmail') {
$checked{'lonstatusmail'}{'adminemail'} = ' checked="checked" ';
@@ -2078,8 +2082,13 @@ sub print_contacts {
}
$datatable .= '
'.&mt('Others').': '.
''.
- '
'."\n";
+ 'value="'.$otheremails{$type}.'" />';
+ if ($type eq 'helpdeskmail') {
+ $datatable .= '
'.&mt('Bcc').':'.(' 'x6).
+ '';
+ }
+ $datatable .= ''."\n";
}
$$rowtotal += $rownum;
return $datatable;
@@ -4767,7 +4776,7 @@ sub modify_autoupdate {
lastname => 'Last Name',
firstname => 'First Name',
middlename => 'Middle Name',
- gen => 'Generation',
+ generation => 'Generation',
);
my $othertitle = &mt('All users');
if (keys(%{$usertypes}) > 0) {
@@ -4775,7 +4784,16 @@ sub modify_autoupdate {
}
foreach my $key (keys(%env)) {
if ($key =~ /^form\.updateable_(.+)_([^_]+)$/) {
- push(@{$fields{$1}},$2);
+ my ($usertype,$item) = ($1,$2);
+ if (grep(/^\Q$item\E$/,keys(%fieldtitles))) {
+ if ($usertype eq 'default') {
+ push(@{$fields{$1}},$2);
+ } elsif (ref($types) eq 'ARRAY') {
+ if (grep(/^\Q$usertype\E$/,@{$types})) {
+ push(@{$fields{$1}},$2);
+ }
+ }
+ }
}
}
my @lockablenames = &Apache::loncommon::get_env_multiple('form.lockablenames');
@@ -4812,9 +4830,11 @@ sub modify_autoupdate {
foreach my $type (@{$currautoupdate{$key}{$item}}) {
if (!exists($fields{$item})) {
$change = 1;
+ last;
} elsif (ref($fields{$item}) eq 'ARRAY') {
if (!grep(/^\Q$type\E$/,@{$fields{$item}})) {
$change = 1;
+ last;
}
}
}
@@ -4845,7 +4865,20 @@ sub modify_autoupdate {
foreach my $item (@{$types},'default') {
if (defined($fields{$item})) {
if (ref($currautoupdate{'fields'}) eq 'HASH') {
- if (!exists($currautoupdate{'fields'}{$item})) {
+ if (ref($currautoupdate{'fields'}{$item}) eq 'ARRAY') {
+ my $change = 0;
+ if (ref($fields{$item}) eq 'ARRAY') {
+ foreach my $type (@{$fields{$item}}) {
+ if (!grep(/^\Q$type\E$/,@{$currautoupdate{'fields'}{$item}})) {
+ $change = 1;
+ last;
+ }
+ }
+ }
+ if ($change) {
+ push(@{$changes{'fields'}},$item);
+ }
+ } else {
push(@{$changes{'fields'}},$item);
}
} else {
@@ -5162,7 +5195,7 @@ sub modify_contacts {
$currsetting{$key} = $domconfig{'contacts'}{$key};
}
}
- my (%others,%to);
+ my (%others,%to,%bcc);
my @contacts = ('supportemail','adminemail');
my @mailings = ('errormail','packagesmail','helpdeskmail','lonstatusmail',
'requestsmail');
@@ -5178,6 +5211,10 @@ sub modify_contacts {
}
$others{$type} = $env{'form.'.$type.'_others'};
$contacts_hash{contacts}{$type}{'others'} = $others{$type};
+ if ($type eq 'helpdeskmail') {
+ $bcc{$type} = $env{'form.'.$type.'_bcc'};
+ $contacts_hash{contacts}{$type}{'bcc'} = $bcc{$type};
+ }
}
foreach my $item (@contacts) {
$to{$item} = $env{'form.'.$item};
@@ -5202,6 +5239,11 @@ sub modify_contacts {
if ($others{$type} ne $currsetting{$type}{'others'}) {
push(@{$changes{$type}},'others');
}
+ if ($type eq 'helpdeskmail') {
+ if ($bcc{$type} ne $currsetting{$type}{'bcc'}) {
+ push(@{$changes{$type}},'bcc');
+ }
+ }
}
} else {
my %default;
@@ -5224,7 +5266,12 @@ sub modify_contacts {
}
if ($others{$type} ne '') {
push(@{$changes{$type}},'others');
- }
+ }
+ if ($type eq 'helpdeskmail') {
+ if ($bcc{$type} ne '') {
+ push(@{$changes{$type}},'bcc');
+ }
+ }
}
}
my $putresult = &Apache::lonnet::put_dom('configuration',\%contacts_hash,
@@ -5252,7 +5299,13 @@ sub modify_contacts {
push(@text,$others{$type});
}
$resulttext .= ''.
- join(', ',@text).'';
+ join(', ',@text).'';
+ if ($type eq 'helpdeskmail') {
+ if ($bcc{$type} ne '') {
+ $resulttext .= ' '.&mt('with Bcc to').': '.$bcc{$type}.'';
+ }
+ }
+ $resulttext .= '';
}
}
$resulttext .= '';