--- loncom/interface/lonparmset.pm 2003/06/20 14:56:09 1.106
+++ loncom/interface/lonparmset.pm 2003/07/17 15:16:45 1.117
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.106 2003/06/20 14:56:09 www Exp $
+# $Id: lonparmset.pm,v 1.117 2003/07/17 15:16:45 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -488,9 +488,15 @@ sub print_row {
sub print_td {
my ($r,$which,$defbg,$result,$outpar,$mprefix,$value,$typeoutpar,$display)=@_;
$r->print('
'.
- &plink($$typeoutpar[$which],$$display{$value},$$outpar[$which],
- $mprefix."$which",'parmform.pres','psub').' | '."\n");
+ ' align="center">');
+ if ($which<10) {
+ $r->print(&plink($$typeoutpar[$which],
+ $$display{$value},$$outpar[$which],
+ $mprefix."$which",'parmform.pres','psub'));
+ } else {
+ $r->print(&valout($$outpar[$which],$$typeoutpar[$which]));
+ }
+ $r->print(''."\n");
}
sub get_env_multiple {
@@ -852,12 +858,13 @@ sub assessparms {
$message.="Write Error: $1";
}
# ---------------------------------------------------------------- Done storing
- $message.='Changes can take up to 10 minutes before being active for all students
';
+ $message.='Changes can take up to 10 minutes before being active for all students.'.&Apache::loncommon::help_open_topic('Caching').'
';
}
# --------------------------------------------- Devalidate cache for this child
- &Apache::lonnet::devalidatecourseresdata(
+ &Apache::lonnet::devalidatecourseresdata(
$ENV{'course.'.$ENV{'request.course.id'}.'.num'},
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'});
+ &Apache::lonnet::clear_EXT_cache_status();
# -------------------------------------------------------------- Get coursedata
%courseopt = &Apache::lonnet::dump
('resourcedata',
@@ -891,7 +898,11 @@ sub assessparms {
&startpage($r,$id,$udom,$csec,$uname,$have_assesments);
- if (!$have_assesments) { return ''; }
+ if (!$have_assesments) {
+ untie(%bighash);
+ untie(%parmhash);
+ return '';
+ }
# if ($ENV{'form.url'}) {
# $r->print('');
@@ -1433,6 +1444,11 @@ sub crsenv {
}
}
#
+ # Deal with the enrollment dates
+ if ($name =~ /^default_enrollment_(start|end)_date$/) {
+ $value=&Apache::lonhtmlcommon::get_date_from_form($name.'_value');
+ }
+ #
# Let the user know we made the changes
if ($name) {
my $put_result = &Apache::lonnet::put('environment',
@@ -1445,6 +1461,9 @@ sub crsenv {
}
}
}
+# ------------------------- Re-init course environment entries for this session
+
+ &Apache::lonnet::coursedescription($ENV{'request.course.id'});
# -------------------------------------------------------- Get parameters again
@@ -1461,6 +1480,10 @@ sub crsenv {
'description' => 'Course Description',
'courseid' => 'Course ID or number
'.
'(internal, optional)',
+ 'grading' => 'Grading'.
+ '"standard" or any other value. '.
+ 'Default for new courses is "standard".',
+
'default_xml_style' => 'Default XML Style File '.
'Select Spreadsheet File
",
'allow_limited_html_in_feedback'
=> 'Allow limited HTML in discussion posts
'.
- '(Set value to yes to allow)',
+ '(Set value to "yes" to allow)',
'rndseed'
=> 'Randomization algorithm used
'.
'Modifying this will make problems '.
'have different numbers and answers',
'problem_stream_switch'
=> 'Allow problems to be split over pages
'.
- ' (yes if allow anything else if not)'
- );
- foreach (keys(%values)) {
- unless ($descriptions{$_}) {
- $descriptions{$_}=$_;
+ ' ("yes" if allowed, anything else if not)',
+ 'anonymous_quiz'
+ => 'Anonimous quiz/exam
'.
+ ' (yes to avoid print students names )',
+ 'default_enrollment_start_date' => 'Default beginning date '.
+ 'when enrolling students',
+ 'default_enrollment_end_date' => 'Default ending date '.
+ 'when enrolling students',
+ 'languages' => 'Languages used',
+ 'disable_receipt_display'
+ => 'Disable display of problem receipts
'.
+ ' ("yes" to disable, anything else if not)'
+ );
+ my @Display_Order = ('url','description','courseid','grading',
+ 'default_xml_style','pageseparators',
+ 'question.email','comment.email','policy.email',
+ 'pch.roles.denied','pch.users.denied',
+ 'allow_limited_html_in_feedback',
+ 'languages',
+ 'rndseed',
+ 'problem_stream_switch',
+ 'disable_receipt_display',
+ 'spreadsheet_default_classcalc',
+ 'spreadsheet_default_studentcalc',
+ 'spreadsheet_default_assesscalc',
+ 'hideemptyrows',
+ 'default_enrollment_start_date',
+ 'default_enrollment_end_date',
+ );
+ foreach my $parameter (sort(keys(%values))) {
+ if (! $descriptions{$parameter}) {
+ $descriptions{$parameter}=$parameter;
+ push(@Display_Order,$parameter);
}
}
- foreach (sort keys %descriptions) {
+ foreach my $parameter (@Display_Order) {
+ my $description = $descriptions{$parameter};
# onchange is javascript to automatically check the 'Set' button.
my $onchange = 'onFocus="javascript:window.document.forms'.
- '[\'envform\'].elements[\''.$_.'_setparmval\']'.
+ "['envform'].elements['".$parameter."_setparmval']".
'.checked=true;"';
- $output.=''.$descriptions{$_}.' | '.
- ' | '.
- ' | '.
- '
'."\n";
+ $output .= ''.$description.' | ';
+ if ($parameter =~ /^default_enrollment_(start|end)_date$/) {
+ $output .= ''.
+ &Apache::lonhtmlcommon::date_setter('envform',
+ $parameter.'_value',
+ $values{$parameter},
+ $onchange).
+ ' | ';
+ } else {
+ $output .= ''.
+ &Apache::lonhtmlcommon::textbox($parameter.'_value',
+ $values{$parameter},
+ 40,$onchange).' | ';
+ }
+ $output .= ''.
+ &Apache::lonhtmlcommon::checkbox($parameter.'_setparmval').
+ ' | ';
+ $output .= "
\n";
}
my $onchange = 'onFocus="javascript:window.document.forms'.
'[\'envform\'].elements[\'newp_setparmval\']'.