--- loncom/interface/lonparmset.pm 2005/06/06 15:13:46 1.212
+++ loncom/interface/lonparmset.pm 2005/06/06 19:51:05 1.215
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.212 2005/06/06 15:13:46 www Exp $
+# $Id: lonparmset.pm,v 1.215 2005/06/06 19:51:05 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -403,7 +403,7 @@ sub valout {
$result.=$sec.' secs ';
}
$result=~s/\s+$//;
- } elsif ($type=~/^date/) {
+ } elsif (&isdateparm($type)) {
$result = localtime($value);
} else {
$result = $value;
@@ -434,7 +434,7 @@ sub plink {
my ($type,$dis,$value,$marker,$return,$call)=@_;
my $winvalue=$value;
unless ($winvalue) {
- if ($type=~/^date/) {
+ if (&isdateparm($type)) {
$winvalue=$env{'form.recent_'.$type};
} else {
$winvalue=$env{'form.recent_'.(split(/\_/,$type))[0]};
@@ -742,6 +742,11 @@ sub extractResourceInformation {
##################################################
##################################################
+sub isdateparm {
+ my $type=shift;
+ return (($type=~/^date/) && (!($type eq 'date_interval')));
+}
+
sub parmmenu {
my ($r,$allparms,$pscat,$keyorder)=@_;
my $tempkey;
@@ -967,6 +972,20 @@ sub keysindisplayorder {
} (keys %{$name});
}
+sub sortmenu {
+ my ($r,$sortorder)=@_;
+ $r->print('
print(' checked="on"');
+ }
+ $r->print(' />'.&mt('Sort by realm first, then student (group/section)'));
+ $r->print('
print(' checked="on"');
+ }
+ $r->print(' />'.&mt('Sort by student (group/section) first, then realm'));
+}
+
sub standardkeyorder {
return ('parameter_0_opendate' => 1,
'parameter_0_duedate' => 2,
@@ -1043,7 +1062,7 @@ sub assessparms {
my $coursename=$env{'course.'.$env{'request.course.id'}.'.description'};
$alllevs{'Resource Level'}='full';
- $alllevs{'Map Level'}='map';
+ $alllevs{'Map/Folder Level'}='map';
$alllevs{'Course Level'}='general';
my %allparms;
@@ -2031,7 +2050,7 @@ sub extractuser {
}
sub listdata {
- my ($r,$resourcedata,$listdata)=@_;
+ my ($r,$resourcedata,$listdata,$sortorder)=@_;
# Start list output
my $oldsection='';
@@ -2040,7 +2059,15 @@ sub listdata {
my $pointer=0;
$tableopen=0;
my $foundkeys=0;
- foreach my $thiskey (sort keys %{$listdata}) {
+ foreach my $thiskey (sort {
+ if ($sortorder eq 'realmstudent') {
+ my ($astudent,$arealm)=($a=~/^$env{'request.course.id'}\.([^\.]+)\.(.+)\.[^\.]+$/);
+ my ($bstudent,$brealm)=($b=~/^$env{'request.course.id'}\.([^\.]+)\.(.+)\.[^\.]+$/);
+ ($arealm cmp $brealm) || ($astudent cmp $bstudent);
+ } else {
+ $a cmp $b;
+ }
+ } keys %{$listdata}) {
if ($$listdata{$thiskey.'.type'}) {
my $thistype=$$listdata{$thiskey.'.type'};
if ($$resourcedata{$thiskey.'.type'}) {
@@ -2067,19 +2094,32 @@ sub listdata {
my ($map,$id,$url)=&Apache::lonnet::decode_symb($middle);
$realm=''.&mt('Resource').': '.&Apache::lonnet::gettitle($middle).'
('.$url.' in '.$map.' id: '.$id.')';
}
- if ($section ne $oldsection) {
- $r->print(&tableend()."\n
'. ($foundkeys?'':&mt('There are no parameters.')).'