--- loncom/interface/lonparmset.pm 2002/11/19 19:20:50 1.77 +++ loncom/interface/lonparmset.pm 2002/12/30 14:10:58 1.81 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.77 2002/11/19 19:20:50 matthew Exp $ +# $Id: lonparmset.pm,v 1.81 2002/12/30 14:10:58 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -288,6 +288,10 @@ sub startpage { my $bodytag=&Apache::loncommon::bodytag('Set Course Parameters','', 'onUnload="pclose()"'); + my $chooseopt=&Apache::loncommon::select_dom_form($udom,'udom').' '. + &Apache::loncommon::selectstudent_link('parmform','uname','udom'); + my $selscript=&Apache::loncommon::studentbrowser_javascript(); + $r->print(< @@ -341,6 +345,7 @@ sub startpage { newWin.focus(); } +$selscript $bodytag
@@ -358,7 +363,7 @@ For User or ID at Domain - +$chooseopt @@ -780,6 +785,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=''; @@ -796,10 +803,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 # @@ -815,14 +829,20 @@ 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\:(.*)/) { $message.="Write Error: $1"; } # ---------------------------------------------------------------- Done storing + $message.='

Changes can take up to 10 minutes before being active for all students

'; } # --------------------------------------------- Devalidate cache for this child &Apache::lonnet::devalidatecourseresdata( @@ -1380,16 +1400,15 @@ sub crsenv { if ($name =~ /^spreadsheet_default_(classcalc| studentcalc| assesscalc)$/x) { - my $sheettype = $1; + my $sheettype = $1; if ($sheettype eq 'classcalc') { # no need to do anything since viewing the sheet will - # cause it to be updated. + # 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 - # ACK! No way to do this currently!!!!! Bummer! } }