--- 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("\nprint("\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;