--- loncom/interface/lonparmset.pm 2005/06/28 15:26:06 1.234 +++ loncom/interface/lonparmset.pm 2005/06/28 16:28:16 1.237 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.234 2005/06/28 15:26:06 albertel Exp $ +# $Id: lonparmset.pm,v 1.237 2005/06/28 16:28:16 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -904,12 +904,12 @@ ENDSCRIPT $r->print("\n"); my $cnt=0; foreach $tempkey (&keysindisplayorder($allparms,$keyorder)) { - $r->print("\n'); + $r->print('>'.$$allparms{$tempkey}.''); $cnt++; if ($cnt==3) { $r->print("\n"); @@ -1067,6 +1067,18 @@ sub keysinorder { } (keys %{$name}); } +sub keysinorder_bytype { + my ($name,$keyorder)=@_; + return sort { + my $ta=(split('_',$a))[-1]; + my $tb=(split('_',$b))[-1]; + if ($$keyorder{'parameter_0_'.$ta} == $$keyorder{'parameter_0_'.$tb}) { + return ($a cmp $b); + } + $$keyorder{'parameter_0_'.$ta} <=> $$keyorder{'parameter_0_'.$tb}; + } (keys %{$name}); +} + sub keysindisplayorder { my ($name,$keyorder)=@_; return sort { @@ -1076,16 +1088,17 @@ sub keysindisplayorder { sub sortmenu { my ($r,$sortorder)=@_; - $r->print('
print('

'); } sub standardkeyorder { @@ -1469,7 +1482,7 @@ ENDTABLEHEADFOUR $r->print(''); - foreach (&keysinorder(\%name,\%keyorder)) { + foreach (&keysinorder_bytype(\%name,\%keyorder)) { unless ($firstrow) { $r->print(''); } else { @@ -2167,6 +2180,11 @@ sub listdata { if ($sortorder eq 'realmstudent') { my ($astudent,$arealm)=($a=~/^$env{'request.course.id'}\.([^\.]+)\.(.+)\.[^\.]+$/); my ($bstudent,$brealm)=($b=~/^$env{'request.course.id'}\.([^\.]+)\.(.+)\.[^\.]+$/); + if (!defined($astudent) && !defined($bstudent) && + !defined($arealm) && !defined($brealm)) { + ($arealm)=($a=~/^$env{'request.course.id'}\.(.+)\.[^\.]+$/); + ($brealm)=($b=~/^$env{'request.course.id'}\.(.+)\.[^\.]+$/); + } ($arealm cmp $brealm) || ($astudent cmp $bstudent); } else { $a cmp $b;
print("\n