--- loncom/interface/lonparmset.pm 2001/02/08 12:36:57 1.22 +++ loncom/interface/lonparmset.pm 2001/03/26 22:28:37 1.28 @@ -11,7 +11,7 @@ # # 11/20,11/21,11/22,11/23,11/24,11/25,11/27,11/28, # 12/08,12/12, -# 16/01/01,02/08 Gerd Kortemeyer +# 16/01/01,02/08,03/20,03/23,03/24,03/26 Gerd Kortemeyer package Apache::lonparmset; @@ -36,6 +36,7 @@ my %keyp; my %defp; my %allkeys; +my %allmaps; my $uname; my $udom; @@ -138,7 +139,16 @@ sub valout { sub plink { my ($type,$dis,$value,$marker,$return,$call)=@_; - return ''. &valout($value,$type).''; } @@ -174,6 +184,9 @@ sub handler { $udom=$ENV{'form.udom'}; unless ($udom) { $udom=$r->dir_config('lonDefDomain'); } + my $pscat=$ENV{'form.pscat'}; + my $pschp=$ENV{'form.pschp'}; + my $id=$ENV{'form.id'}; if (($id) && ($udom)) { $uname=(&Apache::lonnet::idget($udom,$id))[1]; @@ -226,8 +239,9 @@ sub handler { $ENV{'request.course.fn'}.'_parms.db',&GDBM_READER,0640))) { # --------------------------------------------------------- Get all assessments - %allkeys=(); - %defp=(); + undef %allkeys; + undef %allmaps; + undef %defp; map { if ($_=~/^src\_(\d+)\.(\d+)$/) { my $mapid=$1; @@ -264,6 +278,7 @@ sub handler { &Apache::lonnet::metadata($srcf,'keys')); $mapp{$id}= &Apache::lonnet::declutter($bighash{'map_id_'.$mapid}); + $allmaps{$mapid}=$mapp{$id}; $symbp{$id}=$mapp{$id}. '___'.$resid.'___'. &Apache::lonnet::declutter($srcf); @@ -312,6 +327,18 @@ sub handler { my $reply=''; if ($snum>3) { # ---------------------------------------------------------------- Store Course +# +# Expire sheets + &Apache::lonnet::expirespread('','','studentcalc'); + if (($snum==7) || ($snum==4)) { + &Apache::lonnet::expirespread('','','assesscalc',$symbp{$sresid}); + } elsif (($snum==8) || ($snum==5)) { + &Apache::lonnet::expirespread('','','assesscalc',$mapp{$sresid}); + } else { + &Apache::lonnet::expirespread('','','assesscalc'); + } + +# Store parameter $reply=&Apache::lonnet::critical('put:'. $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.':'. $ENV{'course.'.$ENV{'request.course.id'}.'.num'}.':resourcedata:'. @@ -319,6 +346,20 @@ sub handler { $ENV{'course.'.$ENV{'request.course.id'}.'.home'}); } else { # ------------------------------------------------------------------ Store User +# +# Expire sheets + &Apache::lonnet::expirespread($uname,$udom,'studentcalc'); + if ($snum==1) { + &Apache::lonnet::expirespread + ($uname,$udom,'assesscalc',$symbp{$sresid}); + } elsif ($snum==2) { + &Apache::lonnet::expirespread + ($uname,$udom,'assesscalc',$mapp{$sresid}); + } else { + &Apache::lonnet::expirespread($uname,$udom,'assesscalc'); + } + +# Store parameter $reply= &Apache::lonnet::critical('put:'.$udom.':'.$uname.':resourcedata:'. $storecontent,$uhome); @@ -360,10 +401,11 @@ sub handler { if ($fcat eq '') { $a<=>$b; } else { - $outpar[&parmval($fcat,$a,$defp{$a})]<=> - $outpar[&parmval($fcat,$b,$defp{$b})]; + 1*$outpar[&parmval($fcat,$a,$defp{$a})]<=> + 1*$outpar[&parmval($fcat,$b,$defp{$b})]; } - } @ids; + } @ids; + # ------------------------------------------------------------------ Start page $r->content_type('text/html'); $r->send_http_header; @@ -393,6 +435,18 @@ sub handler { pclose(); if (document.parmform.pres_marker.value!='') { document.parmform.action+='#'+document.parmform.pres_marker.value; + var typedef=new Array(); + typedef=document.parmform.pres_type.value.split('_'); + if (document.parmform.pres_type.value!='') { + if (typedef[0]=='date') { + eval('document.parmform.recent_'+ + document.parmform.pres_type.value+ + '.value=document.parmform.pres_value.value;'); + } else { + eval('document.parmform.recent_'+typedef[0]+ + '.value=document.parmform.pres_value.value;'); + } + } document.parmform.submit(); } else { document.parmform.pres_value.value=''; @@ -417,22 +471,46 @@ or ID at Domain - ENDHEAD + map { + $r->print(''); + } ('tolerance','date_default','date_start','date_end','date_interval', + 'int','float','string'); - $r->print('

'.$message.'

Sort list by '); - $r->print(''); $r->print(''); map { $r->print(''); } keys %allkeys; - $r->print(''); + $r->print( + 'Select Enclosing MapSelect Parameter
'); + if (($pscat) || ($pschp)) { # ----------------------------------------------------------------- Start Table + my $catmarker='parameter_'.$pscat; + $catmarker=~s/\./\_/g; my $coursespan=$csec?8:5; $r->print(< @@ -466,6 +544,8 @@ ENDTABLEHEADFOUR my $defbgone=''; my $defbgtwo=''; map { + my $rid=$_; + if (($pschp eq 'all') || ($allmaps{$pschp} eq $mapp{$rid})) { # ------------------------------------------------------ Entry for one resource if ($defbgone eq '"E0E099"') { $defbgone='"E0E0DD"'; @@ -478,7 +558,6 @@ ENDTABLEHEADFOUR $defbgtwo='"FFFF99"'; } @outpar=(); - my $rid=$_; my $thistitle=''; my %name= (); my %part= (); @@ -501,6 +580,7 @@ ENDTABLEHEADFOUR my $totalparms=scalar keys %name; my $isdef=1; unless ($totalparms) { $totalparms=1; $isdef=0; } + if ($pscat ne 'all') { $totalparms=1; } $r->print(''); if ($isdef) { map { + if (($_ eq $catmarker) || ($pscat eq 'all')) { my $result=&parmval($part{$_}.'.'.$name{$_},$rid,$default{$_}); $r->print(""); + } } sort keys %name; } else { - $r->print("\n"); + $r->print("\n"); } # -------------------------------------------------- End entry for one resource + } } @ids; - $r->print('
'. join(' / ',split(/\//,$uri)). @@ -517,6 +597,7 @@ ENDTABLEHEADFOUR join(' / ',split(/\//,$mapp{$rid})).'\n
'); + $r->print(''); + } + $r->print(''); untie(%bighash); untie(%parmhash); }