--- loncom/interface/lonparmset.pm 2002/10/04 05:51:28 1.73
+++ loncom/interface/lonparmset.pm 2002/11/21 22:32:53 1.79
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.73 2002/10/04 05:51:28 albertel Exp $
+# $Id: lonparmset.pm,v 1.79 2002/11/21 22:32:53 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -657,6 +657,7 @@ sub assessparms {
my @pscat=&get_env_multiple('form.pscat');
my $pschp=$ENV{'form.pschp'};
my @psprt=&get_env_multiple('form.psprt');
+ if (!@psprt) { $psprt[0]='0'; }
my $showoptions=$ENV{'form.showoptions'};
my $pssymb='';
@@ -779,6 +780,8 @@ sub assessparms {
if ($snum==5) { $storeunder=$seclevelm; }
if ($snum==4) { $storeunder=$seclevelr; }
+ my $delete;
+ if ($ENV{'form.pres_value'} eq '') { $delete=1;}
my %storecontent = ($storeunder => $ENV{'form.pres_value'},
$storeunder.'.type' => $ENV{'form.pres_type'});
my $reply='';
@@ -795,10 +798,17 @@ sub assessparms {
&Apache::lonnet::expirespread('','','assesscalc');
}
# Store parameter
- $reply=&Apache::lonnet::cput
- ('resourcedata',\%storecontent,
- $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
- $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
+ if ($delete) {
+ $reply=&Apache::lonnet::del
+ ('resourcedata',[keys(%storecontent)],
+ $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
+ $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
+ } else {
+ $reply=&Apache::lonnet::cput
+ ('resourcedata',\%storecontent,
+ $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
+ $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
+ }
} else {
# ------------------------------------------------------------------ Store User
#
@@ -814,8 +824,13 @@ sub assessparms {
&Apache::lonnet::expirespread($uname,$udom,'assesscalc');
}
# Store parameter
- $reply=&Apache::lonnet::cput
- ('resourcedata',\%storecontent,$udom,$uname);
+ if ($delete) {
+ $reply=&Apache::lonnet::del
+ ('resourcedata',[keys(%storecontent)],$udom,$uname);
+ } else {
+ $reply=&Apache::lonnet::cput
+ ('resourcedata',\%storecontent,$udom,$uname);
+ }
}
if ($reply=~/^error\:(.*)/) {
@@ -930,7 +945,6 @@ sub assessparms {
$r->print('>All Parameters');
my $cnt=0;
-
foreach $tempkey (sort { $allparms{$a} cmp $allparms{$b} }
keys %allparms ) {
++$cnt;
@@ -949,10 +963,12 @@ sub assessparms {
$r->print('');
+ my %temphash=();
+ foreach (@psprt) { $temphash{$_}=1; }
foreach $tempkey (sort keys %allparts) {
unless ($tempkey =~ /\./) {
$r->print('');
@@ -999,12 +1015,12 @@ sub assessparms {
}
$r->print('');
- my @temp_psprt;
- foreach my $t (@psprt) {
- push(@temp_psprt, grep {eval (/^$t\./ || ($_ == $t))} (keys %allparts));
- }
+# my @temp_psprt;
+# foreach my $t (@psprt) {
+# push(@temp_psprt, grep {eval (/^$t\./ || ($_ == $t))} (keys %allparts));
+# }
- @psprt = @temp_psprt;
+# @psprt = @temp_psprt;
my @temp_pscat;
map {
@@ -1375,6 +1391,21 @@ sub crsenv {
$dom,$crs).
'
';
}
+ if ($name =~ /^spreadsheet_default_(classcalc|
+ studentcalc|
+ assesscalc)$/x) {
+ my $sheettype = $1;
+ if ($sheettype eq 'classcalc') {
+ # no need to do anything since viewing the sheet will
+ # cause it to be updated.
+ } elsif ($sheettype eq 'studentcalc') {
+ # expire all the student spreadsheets
+ &Apache::lonnet::expirespread('','','studentcalc');
+ } else {
+ # expire all the default assessment spreadsheets
+ }
+ }
+
if ($name) {
$setoutput.='Setting '.$name.' to '.
$value.': '.
@@ -1393,51 +1424,54 @@ sub crsenv {
('url' => 'Top Level Map '.
'".
- 'Browse
'.
+ 'Browse
'.
'Modification may make assessment data '.
'inaccessible',
'description' => 'Course Description',
- 'courseid' => 'Course ID or number
'.
+ 'courseid' => 'Course ID or number
'.
'(internal, optional)',
'default_xml_style' => 'Default XML Style File '.
'Browse
",
- 'question.email' => 'Feedback Addresses for Content '.
- 'Questions
(user:domain,'.
- 'user:domain,...)',
- 'comment.email' => 'Feedback Addresses for Comments
'.
- '(user:domain,user:domain,...)',
+ 'question.email' => 'Feedback Addresses for Resource Content '.
+ 'Questions
(user:domain,'.
+ 'user:domain(section;section;...;*;...),...)',
+ 'comment.email' => 'Feedback Addresses for Course Content Comments
'.
+ '(user:domain,user:domain(section;section;...;*;...),...)',
'policy.email' => 'Feedback Addresses for Course Policy'.
- '
(user:domain,user:domain,...)',
- 'hideemptyrows' => 'Hide Empty Rows in Spreadsheets
'.
+ '
(user:domain,user:domain(section;section;...;*;...),...)',
+ 'hideemptyrows' => 'Hide Empty Rows in Spreadsheets
'.
'("yes" for default hiding)',
- 'pageseparators' => 'Visibly Separate Items on Pages
'.
+ 'pageseparators' => 'Visibly Separate Items on Pages
'.
'("yes" for visible separation)',
'pch.roles.denied'=> 'Disallow Resource Discussion for '.
- 'Roles
"st": '.
+ 'Roles
"st": '.
'student, "ta": '.
'TA, "in": '.
- 'instructor;
role,role,...) '.
+ 'instructor;
role,role,...) '.
Apache::loncommon::help_open_topic("Course_Disable_Discussion"),
'pch.users.denied' =>
- 'Disallow Resource Discussion for Users
'.
+ 'Disallow Resource Discussion for Users
'.
'(user:domain,user:domain,...)',
'spreadsheet_default_classcalc'
=> 'Default Course Spreadsheet '.
'Browse
",
+ ",'spreadsheet')\">Browse
",
'spreadsheet_default_studentcalc'
=> 'Default Student Spreadsheet '.
'Browse
",
+ ",'spreadsheet')\">Browse
",
'spreadsheet_default_assesscalc'
=> 'Default Assessment Spreadsheet '.
'Browse
",
+ ",'spreadsheet')\">Browse
",
+ 'allow_limited_html_in_feedback'
+ => 'Allow limited HTML in discussion posts
'.
+ '(Set value to yes to allow)'
);
foreach (keys(%values)) {
unless ($descriptions{$_}) {