--- loncom/interface/lonparmset.pm 2000/11/28 15:39:52 1.18 +++ loncom/interface/lonparmset.pm 2001/03/23 23:04:32 1.26 @@ -9,7 +9,9 @@ # # 10/11,10/12,10/16 Gerd Kortemeyer) # -# 11/20,11/21,11/22,11/23,11/24,11/25,11/27,11/28 Gerd Kortemeyer +# 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,03/20,03/23 Gerd Kortemeyer package Apache::lonparmset; @@ -34,6 +36,7 @@ my %keyp; my %defp; my %allkeys; +my %allmaps; my $uname; my $udom; @@ -136,9 +139,18 @@ sub valout { sub plink { my ($type,$dis,$value,$marker,$return,$call)=@_; - return ''. - &valout($value,$type).''; + &valout($value,$type).''; } # ================================================================ Main Handler @@ -172,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]; @@ -224,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; @@ -250,7 +266,7 @@ sub handler { $allkeys{$allkey}=$display; if ($allkey eq $fcat) { $defp{$id}= - &Apache::lonnet::metadata($srcf,$key.'.default'); + &Apache::lonnet::metadata($srcf,$key); } if ($keyp{$id}) { $keyp{$id}.=','.$key; @@ -262,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); @@ -310,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:'. @@ -317,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); @@ -390,6 +433,17 @@ sub handler { function psub() { 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 (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=''; @@ -414,22 +468,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(< @@ -460,10 +538,23 @@ ENDTABLEHEADFOUR $r->print(''); } $r->print(''); + 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"'; + } else { + $defbgone='"E0E099"'; + } + if ($defbgtwo eq '"FFFF99"') { + $defbgtwo='"FFFFDD"'; + } else { + $defbgtwo='"FFFF99"'; + } @outpar=(); - my $rid=$_; my $thistitle=''; my %name= (); my %part= (); @@ -478,13 +569,17 @@ ENDTABLEHEADFOUR $display{$_}=&Apache::lonnet::metadata($uri,$_.'.display'); unless ($display{$_}) { $display{$_}=''; } $display{$_}.=' ('.$name{$_}.')'; - $default{$_}=&Apache::lonnet::metadata($uri,$_.'.default'); + $default{$_}=&Apache::lonnet::metadata($uri,$_); $type{$_}=&Apache::lonnet::metadata($uri,$_.'.type'); $thistitle=&Apache::lonnet::metadata($uri,$_.'.title'); } split(/\,/,$keyp{$rid}); my $totalparms=scalar keys %name; - $r->print(''); - $r->print(''); - $r->print(''); + $r->print(''); + if ($isdef) { map { - + if (($_ eq $catmarker) || ($pscat eq 'all')) { my $result=&parmval($part{$_}.'.'.$name{$_},$rid,$default{$_}); - $r->print(""); + $r->print(""); my $thismarker=$_; $thismarker=~s/^parameter\_//; my $mprefix=$rid.'&'.$thismarker.'&'; - $r->print(''. + $r->print(''); - $r->print(''. + $r->print(''); - $r->print(''. + $r->print(''); - $r->print(''. + $r->print(''); - $r->print(''. + $r->print(''); if ($csec) { - $r->print(''. + $r->print(''); - $r->print(''. + $r->print(''); - $r->print(''. + $r->print(''); } if ($uname) { - $r->print(''. + $r->print(''); - $r->print(''. + $r->print(''); - $r->print(''. + $r->print(''); } - - $r->print(''); + $r->print( + ''); $r->print("\n"); + } } sort keys %name; + } else { + $r->print("\n"); + } # -------------------------------------------------- End entry for one resource + } } @ids; - $r->print('
generalfor Enclosing Mapfor Resource
'. + my $isdef=1; + unless ($totalparms) { $totalparms=1; $isdef=0; } + if ($pscat ne 'all') { $totalparms=1; } + $r->print(''. join(' / ',split(/\//,$uri)). '

'. $bighash{'title_'.$rid}); @@ -492,63 +587,86 @@ ENDTABLEHEADFOUR $r->print(' ('.$thistitle.')'); } $r->print('

'.$typep{$rid}.''. + $r->print(''.$typep{$rid}.''. join(' / ',split(/\//,$mapp{$rid})).'$part{$_}$display{$_}$part{$_}$display{$_}'. &valout($outpar[11],$type{$_}).''. &valout($outpar[10],$type{$_}).''. &plink($type{$_},$display{$_},$outpar[9],$mprefix.'9', 'parmform.pres','psub').''. &plink($type{$_},$display{$_},$outpar[8],$mprefix.'8', 'parmform.pres','psub').''. &plink($type{$_},$display{$_},$outpar[7],$mprefix.'7', 'parmform.pres','psub').''. &plink($type{$_},$display{$_},$outpar[6],$mprefix.'6', 'parmform.pres','psub').''. &plink($type{$_},$display{$_},$outpar[5],$mprefix.'5', 'parmform.pres','psub').''. &plink($type{$_},$display{$_},$outpar[4],$mprefix.'4', 'parmform.pres','psub').''. &plink($type{$_},$display{$_},$outpar[3],$mprefix.'3', 'parmform.pres','psub').''. &plink($type{$_},$display{$_},$outpar[2],$mprefix.'2', 'parmform.pres','psub').''. &plink($type{$_},$display{$_},$outpar[1],$mprefix.'1', 'parmform.pres','psub').''.&valout($outpar[$result],$type{$_}).''.&valout($outpar[$result],$type{$_}).'
'); + $r->print(''); + } + $r->print(''); untie(%bighash); untie(%parmhash); }