--- loncom/interface/lonparmset.pm 2008/01/24 23:23:55 1.390
+++ loncom/interface/lonparmset.pm 2008/04/05 16:10:52 1.394
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.390 2008/01/24 23:23:55 www Exp $
+# $Id: lonparmset.pm,v 1.394 2008/04/05 16:10:52 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2026,6 +2026,8 @@ sub crsenv {
my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
+ my (%crsinfo,$chome);
+
#
# Go through list of changes
foreach (keys %env) {
@@ -2120,19 +2122,37 @@ sub crsenv {
my $put_result = &Apache::lonnet::put('environment',
{$name=>$value},$dom,$crs);
if ($put_result eq 'ok') {
- $setoutput.=&mt('Set').' '.$name.' '.&mt('to').' '.$value.'.
';
+ $setoutput.=&mt('Set').' '.$name.' '.&mt('to').' ';
+ if ($name =~ /^default_enrollment_(start|end)_date$/) {
+ $setoutput .= &Apache::lonlocal::locallocaltime($value);
+ } else {
+ $setoutput .= $value;
+ }
+ $setoutput .= '.
';
if ($name eq 'cloners') {
&change_clone($value,\@oldcloner);
}
# Update environment and nohist_courseids.db
- if ($name eq 'description' && defined($value)) {
- my %crsinfo =
- &Apache::lonnet::courseiddump($dom,'.',1,'.','.',
+ if ($name eq 'description' || $name eq 'cloners') {
+ if ($chome eq '') {
+ %crsinfo =
+ &Apache::lonnet::courseiddump($dom,'.',1,'.','.',
$crs,undef,undef,'Course');
- &Apache::lonnet::appenv('course.'.$env{'request.course.id'}.'.description' => $value);
+ $chome = &Apache::lonnet::homeserver($crs,$dom);
+ }
+ }
+ if ($name eq 'description' && defined($value)) {
+ &Apache::lonnet::appenv({'course.'.$env{'request.course.id'}.'.description' => $value});
if (ref($crsinfo{$env{'request.course.id'}}) eq 'HASH') {
$crsinfo{$env{'request.course.id'}}{'description'} = $value;
- my $chome = &Apache::lonnet::homeserver($crs,$dom);
+ my $putresult =
+ &Apache::lonnet::courseidput($dom,\%crsinfo,
+ $chome,'notime');
+ }
+ }
+ if ($name eq 'cloners') {
+ if (ref($crsinfo{$env{'request.course.id'}}) eq 'HASH') {
+ $crsinfo{$env{'request.course.id'}}{'cloners'} = $value;
my $putresult =
&Apache::lonnet::courseidput($dom,\%crsinfo,
$chome,'notime');
@@ -2318,6 +2338,7 @@ Use * to allow unrestricted cloning in a
'texengine'
=> ''.&mt('Force all students in the course to use a specific math rendering engine.').'
'.&mt('(Valid options are [_1].)','"tth", "jsMath", "mimetex"').'',
+
);
my @Display_Order = ('url','description','courseid','cloners','grading',
'externalsyllabus',
@@ -2800,7 +2821,7 @@ my %strings =
[ 'no', 'No' ]],
'string_problemstatus'
=> [[ 'yes', 'Yes' ],
- [ 'answer', 'Yes, and show correct answer if they exceed the maxium number of tries.' ],
+ [ 'answer', 'Yes, and show correct answer if they exceed the maximum number of tries.' ],
[ 'no', 'No, don\'t show correct/incorrect feedback.' ],
[ 'no_feedback_ever', 'No, show no feedback at all.' ]],
);
@@ -2844,13 +2865,21 @@ sub dateshift {
delete $data{$key};
}
}
+ my %storecontent=();
# go through all parameters and look for dates
foreach my $key (keys %data) {
if ($data{$key.'.type'}=~/^date_(start|end)$/) {
my $newdate=$data{$key}+$shift;
- &Apache::lonnet::put('resourcedata',{$key => $newdate},$dom,$crs);
+ $storecontent{$key}=$newdate;
}
}
+ my $reply=&Apache::lonnet::cput
+ ('resourcedata',\%storecontent,$dom,$crs);
+ if ($reply eq 'ok') {
+ &log_parmset(\%storecontent);
+ }
+ &Apache::lonnet::devalidatecourseresdata($crs,$dom);
+ return $reply;
}
sub newoverview {
@@ -3166,8 +3195,6 @@ sub date_shift_two {
$start_page
$breadcrumbs
ENDOVER
- my $start_page=&Apache::loncommon::start_page('Shift Dates');
- my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift');
my $timeshifted=&Apache::lonhtmlcommon::get_date_from_form('timeshifted');
$r->print(&mt('Shifting all dates such that [_1] becomes [_2]',
&Apache::lonlocal::locallocaltime($env{'form.timebase'}),
@@ -3577,7 +3604,7 @@ sub order_meta_fields {
my $ordered_fields = join ",", @neworder;
my $put_result = &Apache::lonnet::put('environment',
{'metadata.addedorder'=>$ordered_fields},$dom,$crs);
- &Apache::lonnet::appenv('course.'.$env{'request.course.id'}.'.metadata.addedorder' => $ordered_fields);
+ &Apache::lonnet::appenv({'course.'.$env{'request.course.id'}.'.metadata.addedorder' => $ordered_fields});
}
my $fields = &get_added_meta_fieldnames($env{'request.course.id'});
my $ordered_fields;
@@ -4284,11 +4311,11 @@ sub handler {
&clean_parameters($r);
} elsif ($env{'form.action'} eq 'dateshift1' && $parm_permission) {
&Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'},
- text=>"Shifting Grades"});
+ text=>"Shifting Dates"});
&date_shift_one($r);
} elsif ($env{'form.action'} eq 'dateshift2' && $parm_permission) {
&Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=dateshift1&timebase='.$env{'form.timebase'},
- text=>"Shifting Grades"});
+ text=>"Shifting Dates"});
&date_shift_two($r);
}
} else {