--- loncom/homework/grades.pm 2001/04/16 23:34:11 1.5
+++ loncom/homework/grades.pm 2001/05/01 17:30:18 1.7
@@ -26,12 +26,22 @@ sub moreinfo {
}
-#FIXME - needs to be much smarter
+#FIXME - needs to handle multiple matches
sub finduser {
my ($name) = @_;
+ my $domain = '';
if ( $Apache::grades::viewgrades eq 'F' ) {
- return ($name,$ENV{'user.domain'});
+ #get classlist
+ my ($cdom,$cnum) = split(/_/,$ENV{'request.course.id'});
+ my $chome=$ENV{"course.$ENV{'request.course.id'}.home"};
+ #print "Found $cdom:$cnum:$chome
";
+ my (%classlist) = &getclasslist($cdom,$cnum,$chome,'0');
+ foreach my $student ( sort(@{ $classlist{'allids'} }) ) {
+ my ($posname,$posdomain) = split(/:/,$student);
+ if ($posname =~ $name) { $name=$posname; $domain=$posdomain; last; }
+ }
+ return ($name,$domain);
} else {
return ($ENV{'user.name'},$ENV{'user.domain'});
}
@@ -60,7 +70,9 @@ sub getpartlist {
my @parts =();
my (@metakeys) = split(/,/,&Apache::lonnet::metadata($url,'keys'));
foreach my $key (@metakeys) {
- if ( $key =~ m/stores_([0-9]+)_.*/ ) { push(@parts,$key); }
+ if ( $key =~ m/stores_([0-9]+)_.*/ ) {
+ push(@parts,$key);
+ }
}
return @parts;
}
@@ -80,23 +92,23 @@ sub viewstudentgrade {
#print "resource.$part.$type = ".$record{"resource.$part.$type"}."
\n";
if ($type eq 'awarded') {
my $score=$record{"resource.$part.$type"};
- $result.="
| \n";
+ $result.=" | \n";
} elsif ($type eq 'tries') {
my $score=$record{"resource.$part.$type"};
- $result.=" | \n"
+ $result.=" | \n"
} elsif ($type eq 'solved') {
my $score=$record{"resource.$part.$type"};
- $result.=" |