--- loncom/interface/lonparmset.pm 2006/08/09 20:43:56 1.329 +++ loncom/interface/lonparmset.pm 2006/08/09 20:47:32 1.330 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.329 2006/08/09 20:43:56 albertel Exp $ +# $Id: lonparmset.pm,v 1.330 2006/08/09 20:47:32 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -3314,14 +3314,16 @@ ENDYESNO } sub components { - my ($key,$uname,$udom,$exeuser,$exedomain)=@_; - my $typeflag=0; - if ($key=~/\.type$/) { + my ($key,$uname,$udom,$exeuser,$exedomain,$typeflag)=@_; + + if ($typeflag) { $key=~s/\.type$//; - $typeflag=1; } + + my ($middle,$part,$name)= + ($key=~/^$env{'request.course.id'}\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/); my $issection; - my ($middle,$part,$name)=($key=~/^$env{'request.course.id'}\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/); + my $section=&mt('All Students'); if ($middle=~/^\[(.*)\]/) { $issection=$1; @@ -3345,7 +3347,7 @@ sub components { $realmdescription=&mt('resource').' '.&Apache::lonnet::gettitle($middle); } my $what=$part.'.'.$name; - return ($realm,$section,$name,$part,$typeflag, + return ($realm,$section,$name,$part, $what,$middle,$uname,$udom,$issection,$realmdescription); } @@ -3451,9 +3453,10 @@ sub parm_change_log { my $makenewrow=0; my %istype=(); foreach my $changed (reverse(sort(@changes))) { - my $value=$parmlog{$id}{'logentry'}->{$changed}; - my ($realm,$section,$parmname,$part,$typeflag,$what,$middle,$uname,$udom,$issection,$realmdescription)= - &components($changed,$parmlog{$id}{'uname'},$parmlog{$id}{'udom'}); + my $value=$parmlog{$id}{'logentry'}{$changed}; + my $typeflag = (!exists($parmlog{$id}{'logentry'}{$changed.'.type'})); + my ($realm,$section,$parmname,$part,$what,$middle,$uname,$udom,$issection,$realmdescription)= + &components($changed,$parmlog{$id}{'uname'},$parmlog{$id}{'udom'},undef,undef,$typeflag); if ($typeflag) { $istype{$parmname}=$value; if (!$env{'form.includetypes'}) { next; }