--- loncom/interface/lonmodifycourse.pm 2010/07/08 23:19:19 1.56
+++ loncom/interface/lonmodifycourse.pm 2010/09/11 21:36:00 1.57.2.1
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# handler for DC-only modifiable course settings
#
-# $Id: lonmodifycourse.pm,v 1.56 2010/07/08 23:19:19 raeburn Exp $
+# $Id: lonmodifycourse.pm,v 1.57.2.1 2010/09/11 21:36:00 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -149,7 +149,7 @@ sub print_course_search_page {
'instcodefilter','ownerfilter',
'coursefilter'];
my $filter = {};
- my ($numtitles,$cctitle,$dctitle,@codetitles);
+ my ($numtitles,$cctitle,$dctitle);
my $ccrole = 'cc';
if ($type eq 'Community') {
$ccrole = 'co';
@@ -163,8 +163,7 @@ sub print_course_search_page {
$r->print('
'.&mt('Search for a course in the [_1] domain',$domdesc).'
');
}
$r->print(&Apache::lonpickcourse::build_filters($filterlist,$type,
- undef,undef,$filter,$action,\$numtitles,'modifycourse',
- undef,undef,undef,\@codetitles));
+ undef,undef,$filter,$action,\$numtitles,'modifycourse'));
if ($type eq 'Community') {
$r->print(&mt('Actions available after searching for a community:').'
'.
'
'.&mt('Enter the community with the role of [_1]',$cctitle).'
'."\n".
@@ -193,16 +192,14 @@ sub print_course_selection_page {
my %filter;
my $action = '/adm/modifycourse';
my $dctitle = &Apache::lonnet::plaintext('dc');
- my ($numtitles,@codetitles);
+ my $numtitles;
$r->print(&Apache::lonpickcourse::js_changer());
$r->print(&mt('Revise your search criteria for this domain').' ('.$domdesc.'). ');
$r->print(&Apache::lonpickcourse::build_filters($filterlist,$type,
- undef,undef,\%filter,$action,\$numtitles,
- undef,undef,undef,undef,\@codetitles));
+ undef,undef,\%filter,$action,\$numtitles));
$filter{'domainfilter'} = $dom;
my %courses = &Apache::lonpickcourse::search_courses($r,$type,0,
- \%filter,$numtitles,undef,
- undef,undef,\@codetitles);
+ \%filter,$numtitles));
&Apache::lonpickcourse::display_matched_courses($r,$type,0,$action,undef,undef,undef,
%courses);
return;
@@ -226,8 +223,9 @@ sub print_modification_menu {
$categorytitle = 'View/Modify Course Settings';
$setquota_text = &mt('Total disk space allocated for storage of portfolio files in all groups in a course.');
$setparams_text = 'View/Modify course owner, institutional code, and default authentication';
- $cat_text = 'View/Modify catalog settings for course';
+ $cat_text = 'View/Modify catalog settings for course';
}
+ my $anon_text = 'Responder threshold required to display anonymous survey submissions';
my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$dom);
my @additional_params = &catalog_settable($domconf{'coursecategories'},$type);
@@ -256,6 +254,14 @@ sub print_modification_menu {
linktitle => ''
},
{
+ linktext => 'View/Modify responders threshold for anonymous survey submissions display',
+ url => &phaseurl('setanon'),
+ permission => 1,
+ #help => '',
+ icon => 'anonsurveythreshold.png',
+ linktitle => ''
+ },
+ {
linktext => $cat_text,
url => &phaseurl('catsettings'),
permission => (@additional_params > 0),
@@ -292,7 +298,8 @@ sub print_modification_menu {
$menu_html .= '
'.&mt('Course owner (permitted to assign Course Coordinator roles in the course).').'
'.
'
'.&mt("Institutional code and default authentication (both required for auto-enrollment of students from institutional datafeeds).").'
';
}
- $menu_html .= '
'.$setquota_text.'
'."\n";
+ $menu_html .= '
'.$setquota_text.'
'.
+ '
'.$anon_text.'
'."\n";
foreach my $item (@additional_params) {
if ($type eq 'Community') {
if ($item eq 'togglecats') {
@@ -409,11 +416,11 @@ sub print_setquota {
my $hidden_elements = &hidden_form_elements();
my $helpitem = &Apache::loncommon::help_open_topic('Modify_Course_Quota');
$r->print(<
+
+ENDDOCUMENT
+ return;
+}
+
sub print_catsettings {
my ($r,$cdom,$cnum,$cdesc,$type) = @_;
&print_header($r,$type);
@@ -1067,7 +1113,7 @@ sub modify_quota {
} else {
if ($putreply eq 'ok') {
my %updatedsettings = &Apache::lonnet::get('environment',['internal.coursequota'],$cdom,$cnum);
- $r->print(&mt('The disk space allocated for group portfolio files is now: [_1] Mb.',$updatedsettings{'internal.coursequota'}));
+ $r->print(&mt('The disk space allocated for group portfolio files is now: [_1] Mb.',''.$updatedsettings{'internal.coursequota'}.''));
my $usage = &Apache::longroup::sum_quotas($cdom.'_'.$cnum);
if ($usage >= $updatedsettings{'internal.coursequota'}) {
my $newoverquota;
@@ -1101,6 +1147,62 @@ sub modify_quota {
return;
}
+sub modify_anonsurvey_threshold {
+ my ($r,$cdom,$cnum,$cdesc,$domdesc,$type) = @_;
+ &print_header($r,$type);
+ $r->print('');
+ return;
+}
+
sub modify_catsettings {
my ($r,$cdom,$cnum,$cdesc,$domdesc,$type) = @_;
&print_header($r,$type);
@@ -1264,17 +1366,45 @@ function gochoose(cname,cdom,cdesc) {
|;
} elsif ($phase eq 'setquota') {
- $js .= <<'ENDSCRIPT';
+ my $invalid = &mt('The quota you entered contained invalid characters.');
+ my $alert = &mt('You must enter a number');
+ my $regexp = '/^\s*(\d+\.?\d*|\.\d+)\s*$/';
+ $js .= <<"ENDSCRIPT";
+ENDSCRIPT
+ } elsif ($phase eq 'setanon') {
+ my $invalid = &mt('The responder threshold you entered is invalid.');
+ my $alert = &mt('You must enter a positive integer.');
+ my $regexp = ' /^\s*\d+\s*$/';
+ $js .= <<"ENDSCRIPT";
+
ENDSCRIPT
@@ -1371,7 +1501,8 @@ sub hidden_form_elements {
my $hidden_elements =
&Apache::lonhtmlcommon::echo_form_input(['gosearch','updater','coursecode',
'prevphase','numlocalcc','courseowner','login','coursequota','intarg',
- 'locarg','krbarg','krbver','counter','hidefromcat','usecategory'])."\n".
+ 'locarg','krbarg','krbver','counter','hidefromcat','usecategory',
+ 'threshold'])."\n".
'';
return $hidden_elements;
}
@@ -1459,7 +1590,21 @@ sub handler {
({href=>"javascript:changePage(document.$phase,'$phase')",
text=>"Result"});
&modify_quota($r,$cdom,$cnum,$cdesc,$domdesc,$type);
- } elsif ($phase eq 'viewparms') {
+ } elsif ($phase eq 'setanon') {
+ &Apache::lonhtmlcommon::add_breadcrumb
+ ({href=>"javascript:changePage(document.$phase,'$phase')",
+ text=>"Threshold for anonymous submissions display"});
+ &print_set_anonsurvey_threshold($r,$cdom,$cnum,$cdesc,$type);
+
+ } elsif ($phase eq 'processthreshold') {
+ &Apache::lonhtmlcommon::add_breadcrumb
+ ({href=>"javascript:changePage(document.$phase,'setanon')",
+ text=>"Threshold for anonymous submissions display"});
+ &Apache::lonhtmlcommon::add_breadcrumb
+ ({href=>"javascript:changePage(document.$phase,'$phase')",
+ text=>"Result"});
+ &modify_anonsurvey_threshold($r,$cdom,$cnum,$cdesc,$domdesc,$type);
+ } elsif ($phase eq 'viewparms') {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>"javascript:changePage(document.$phase,'viewparms')",
text=>"Display settings"});