--- loncom/interface/lonparmset.pm 2005/03/17 21:08:43 1.186 +++ loncom/interface/lonparmset.pm 2005/03/17 22:34:24 1.188 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.186 2005/03/17 21:08:43 www Exp $ +# $Id: lonparmset.pm,v 1.188 2005/03/17 22:34:24 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -75,12 +75,6 @@ my %keyp; my %maptitles; -my $uname; -my $udom; -my $uhome; -my $csec; -my $coursename; - ################################################## ################################################## @@ -113,7 +107,7 @@ Returns: A list, the first item is the ################################################## ################################################## sub parmval { - my ($what,$id,$def)=@_; + my ($what,$id,$def,$uname,$udom,$csec)=@_; my $result=''; my @outpar=(); # ----------------------------------------------------- Cascading lookup scheme @@ -207,8 +201,11 @@ sub parmval { # - level # - new value # - new type +# - username +# - userdomain + sub storeparm { - my ($sresid,$spnam,$snum,$nval,$ntype)=@_; + my ($sresid,$spnam,$snum,$nval,$ntype,$uname,$udom,$csec)=@_; $spnam=~s/\_([^\_]+)$/\.$1/; # ---------------------------------------------------------- Construct prefixes @@ -489,12 +486,12 @@ ENDHEAD3 $r->print(< $lt{'sg'}: - -
+ +
$lt{'fu'} - + $lt{'oi'} - + $lt{'ad'} $chooseopt @@ -507,16 +504,16 @@ ENDHEAD sub print_row { my ($r,$which,$part,$name,$rid,$default,$defaulttype,$display,$defbgone, - $defbgtwo,$parmlev)=@_; + $defbgtwo,$parmlev,$uname,$udom,$csec)=@_; # get the values for the parameter in cascading order # empty levels will remain empty my ($result,@outpar)=&parmval($$part{$which}.'.'.$$name{$which}, - $rid,$$default{$which}); + $rid,$$default{$which},$uname,$udom,$csec); # get the type for the parameters # problem: these may not be set for all levels my ($typeresult,@typeoutpar)=&parmval($$part{$which}.'.'. $$name{$which}.'.type', - $rid,$$defaulttype{$which}); + $rid,$$defaulttype{$which},$uname,$udom,$csec); # cascade down manually my $cascadetype=$$defaulttype{$which}; for (my $i=11;$i>0;$i--) { @@ -774,8 +771,14 @@ sub assessparms { my %allmaps=(); my %alllevs=(); + my $uname; + my $udom; + my $uhome; + my $csec; + + my $coursename=$ENV{'course.'.$ENV{'request.course.id'}.'.description'}; + $alllevs{'Resource Level'}='full'; -# $alllevs{'Resource Level [BRIEF]'}='brief'; $alllevs{'Map Level'}='map'; $alllevs{'Course Level'}='general'; @@ -794,6 +797,7 @@ sub assessparms { my $message=''; $csec=$ENV{'form.csec'}; + if ($udom=$ENV{'form.udom'}) { } elsif ($udom=$ENV{'request.role.domain'}) { } elsif ($udom=$ENV{'user.domain'}) { @@ -811,10 +815,6 @@ sub assessparms { my $parmlev=''; my $trimheader=''; my $prevvisit=$ENV{'form.prevvisit'}; - -# unless ($parmlev==$ENV{'form.parmlev'}) { -# $parmlev = 'full'; -# } unless ($ENV{'form.parmlev'}) { $parmlev = 'map'; @@ -903,7 +903,7 @@ sub assessparms { } # --------------------------------------------------------- Get all assessments - extractResourceInformation(\%bighash, \@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allkeys, \%allmaps, $fcat, \%defp, \%mapp, \%symbp,\%maptitles); + &extractResourceInformation(\%bighash, \@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allkeys, \%allmaps, $fcat, \%defp, \%mapp, \%symbp,\%maptitles); $mapp{'0.0'} = ''; $symbp{'0.0'} = ''; @@ -912,7 +912,8 @@ sub assessparms { if ($ENV{'form.pres_marker'}) { $message.=&storeparm(split(/\&/,$ENV{'form.pres_marker'}), $ENV{'form.pres_value'}, - $ENV{'form.pres_type'}); + $ENV{'form.pres_type'}, + $uname,$udom,$csec); # ---------------------------------------------------------------- Done storing $message.='

'.&mt('Changes can take up to 10 minutes before being active for all students.').&Apache::loncommon::help_open_topic('Caching').'

'; } @@ -937,9 +938,9 @@ sub assessparms { if ($fcat eq '') { $a<=>$b; } else { - my ($result,@outpar)=&parmval($fcat,$a,$defp{$a}); + my ($result,@outpar)=&parmval($fcat,$a,$defp{$a},$uname,$udom,$csec); my $aparm=$outpar[$result]; - ($result,@outpar)=&parmval($fcat,$b,$defp{$b}); + ($result,@outpar)=&parmval($fcat,$b,$defp{$b},$uname,$udom,$csec); my $bparm=$outpar[$result]; 1*$aparm<=>1*$bparm; } @@ -1276,7 +1277,7 @@ ENDTABLEHEADFOUR &print_row($r,$_,\%part,\%name,$rid,\%default, \%type,\%display,$defbgone,$defbgtwo, - $parmlev); + $parmlev,$uname,$udom,$csec); } } } @@ -1384,7 +1385,7 @@ ENDMAPONE $r->print(''); &print_row($r,$_,\%part,\%name,$mapid,\%default, \%type,\%display,$defbgone,$defbgtwo, - $parmlev); + $parmlev,$uname,$udom,$csec); # $r->print("resource.$part{$_}.$name{$_},$symbp{$mapid}\n"); } $r->print(""); @@ -1461,7 +1462,7 @@ ENDMAPONE foreach (sort keys %name) { $r->print(''); &print_row($r,$_,\%part,\%name,$mapid,\%default, - \%type,\%display,$defbgone,$defbgtwo,$parmlev); + \%type,\%display,$defbgone,$defbgtwo,$parmlev,$uname,$udom,$csec); # $r->print("resource.$part{$_}.$name{$_},$symbp{$mapid}\n"); } $r->print(""); @@ -2081,8 +2082,6 @@ sub handler { &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; - - $coursename=$ENV{'course.'.$ENV{'request.course.id'}.'.description'}; if (($ENV{'form.crsenv'}) || (!$ENV{'request.course.fn'})) { # ---------------------------------------------- This is for course environment