[LON-CAPA-cvs] cvs: loncom(version_2_10_X) /interface domainprefs.pm
raeburn
raeburn@source.lon-capa.org
Thu, 26 Aug 2010 08:07:42 -0000
raeburn Thu Aug 26 08:07:42 2010 EDT
Modified files: (Branch: version_2_10_X)
/loncom/interface domainprefs.pm
Log:
- Backport 1.139 (part).
Index: loncom/interface/domainprefs.pm
diff -u loncom/interface/domainprefs.pm:1.138.2.1 loncom/interface/domainprefs.pm:1.138.2.2
--- loncom/interface/domainprefs.pm:1.138.2.1 Fri Aug 13 05:45:05 2010
+++ loncom/interface/domainprefs.pm Thu Aug 26 08:07:42 2010
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: domainprefs.pm,v 1.138.2.1 2010/08/13 05:45:05 raeburn Exp $
+# $Id: domainprefs.pm,v 1.138.2.2 2010/08/26 08:07:42 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -202,12 +202,13 @@
'quotas','autoenroll','autoupdate','autocreate',
'directorysrch','usercreation','usermodification',
'contacts','defaults','scantron','coursecategories',
- 'serverstatuses','requestcourses','usersessions'],$dom);
+ 'serverstatuses','requestcourses','coursedefaults',
+ 'usersessions'],$dom);
my @prefs_order = ('rolecolors','login','defaults','quotas','autoenroll',
'autoupdate','autocreate','directorysrch','contacts',
'usercreation','usermodification','scantron',
'requestcourses','coursecategories','serverstatuses',
- 'usersessions');
+ 'coursedefaults','usersessions');
my %prefs = (
'rolecolors' =>
{ text => 'Default color schemes',
@@ -336,11 +337,11 @@
{col1 => 'Unauthenticated Help Settings',
col2 => ''}],
},
- 'coursedefaults' =>
+ 'coursedefaults' =>
{text => 'Course/Community defaults',
help => 'Domain_Configuration_Course_Defaults',
- header => [{col1 => 'Setting',
- col2 => 'Value',}],
+ header => [{col1 => 'Defaults which can be overridden for each course by a DC',
+ col2 => 'Value',},
},
'privacy' =>
{text => 'User Privacy',
@@ -454,6 +455,8 @@
$output = &modify_serverstatuses($dom,%domconfig);
} elsif ($action eq 'requestcourses') {
$output = &modify_quotas($dom,$action,%domconfig);
+ } elsif ($action eq 'coursedefaults') {
+ $output = &modify_coursedefaults($dom,%domconfig);
} elsif ($action eq 'usersessions') {
$output = &modify_usersessions($dom,%domconfig);
}
@@ -661,6 +664,8 @@
$output .= &print_scantronformat($r,$dom,$confname,$settings,\$rowtotal);
} elsif ($action eq 'serverstatuses') {
$output .= &print_serverstatuses($dom,$settings,\$rowtotal);
+ } elsif ($action eq 'coursedefaults') {
+ $output .= &print_coursedefaults('bottom',$dom,$settings,\$rowtotal);
}
}
$output .= '
@@ -2231,19 +2236,43 @@
}
sub print_coursedefaults {
- my ($dom,$settings,$rowtotal) = @_;
+ my ($position,$dom,$settings,$rowtotal) = @_;
my ($css_class,$datatable);
my $itemcount = 1;
- my (%checkedon,%checkedoff,%choices,%defaultchecked,@toggles);
- %choices =
- &Apache::lonlocal::texthash (
- canuse_pdfforms => 'Course/Community users can create/upload PDF forms',
- );
- %defaultchecked = ('canuse_pdfforms' => 'off');
- @toggles = ('canuse_pdfforms',);
- ($datatable,$itemcount) = &radiobutton_prefs($settings,\@toggles,\%defaultchecked,
+ if ($position eq 'top') {
+ my (%checkedon,%checkedoff,%choices,%defaultchecked,@toggles);
+ %choices =
+ &Apache::lonlocal::texthash (
+ canuse_pdfforms => 'Course/Community users can create/upload PDF forms',
+ );
+ %defaultchecked = ('canuse_pdfforms' => 'off');
+ @toggles = ('canuse_pdfforms',);
+ ($datatable,$itemcount) = &radiobutton_prefs($settings,\@toggles,\%defaultchecked,
\%choices,$itemcount);
- $$rowtotal += $itemcount;
+ $$rowtotal += $itemcount;
+ } else {
+ $css_class = $itemcount%2 ? ' class="LC_odd_row"' : '';
+ my %choices =
+ &Apache::lonlocal::texthash (
+ anonsurvey_threshold => 'Responder count needed before showing submissions for anonymous surveys',
+ );
+ my $currdefresponder;
+ if (ref($settings) eq 'HASH') {
+ $currdefresponder = $settings->{'anonsurvey_threshold'};
+ }
+ if (!$currdefresponder) {
+ $currdefresponder = 10;
+ } elsif ($currdefresponder < 1) {
+ $currdefresponder = 1;
+ }
+ $datatable .=
+ '<tr'.$css_class.'><td><span class="LC_nobreak">'.$choices{'anonsurvey_threshold'}.
+ '</span></td>'.
+ '<td class="LC_right_item"><span class="LC_nobreak">'.
+ '<input type="text" name="anonsurvey_threshold"'.
+ ' value="'.$currdefresponder.'" size="5" /></span>'.
+ '</td></tr>';
+ }
return $datatable;
}
@@ -6626,7 +6655,7 @@
my ($resulttext,$errors,%changes,%defaultshash);
my %defaultchecked = ('canuse_pdfforms' => 'off');
my @offon = ('off','on');
- my @toggles = ('canuse_pdfforms');
+ my @toggles = ();
$defaultshash{'coursedefaults'} = {};
@@ -6655,6 +6684,18 @@
}
$defaultshash{'coursedefaults'}{$item} = $env{'form.'.$item};
}
+ my $currdefresponder = $domconfig{'coursedefaults'}{'anonsurvey_threshold'};
+ my $newdefresponder = $env{'form.anonsurvey_threshold'};
+ $newdefresponder =~ s/\D//g;
+ if ($newdefresponder eq '' || $newdefresponder < 1) {
+ $newdefresponder = 1;
+ }
+ $defaultshash{'coursedefaults'}{'anonsurvey_threshold'} = $newdefresponder;
+ if ($currdefresponder ne $newdefresponder) {
+ unless ($currdefresponder eq '' && $newdefresponder == 10) {
+ $changes{'anonsurvey_threshold'} = 1;
+ }
+ }
}
my $putresult = &Apache::lonnet::put_dom('configuration',\%defaultshash,
$dom);
@@ -6674,6 +6715,8 @@
} else {
$resulttext .= '<li>'.&mt('Course/Community users can create/upload PDF forms set to "off"').'</li>';
}
+ } elsif ($item eq 'anonsurvey_threshold') {
+ $resulttext .= '<li>'.&mt('Responder count required for display of anonymous survey submissions set to [_1].',$defaultshash{'coursedefaults'}{'anonsurvey_threshold'}).'</li>';
}
}
$resulttext .= '</ul>';