--- loncom/homework/grades.pm 2001/08/06 20:29:37 1.13
+++ loncom/homework/grades.pm 2002/04/06 21:07:08 1.19
@@ -1,7 +1,34 @@
+# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
+#
+# $Id: grades.pm,v 1.19 2002/04/06 21:07:08 www Exp $
+#
+# Copyright Michigan State University Board of Trustees
+#
+# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
+#
+# LON-CAPA is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# LON-CAPA is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LON-CAPA; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# /home/httpd/html/adm/gpl.txt
+#
+# http://www.lon-capa.org/
+#
# 2/9,2/13 Guy Albertelli
# 6/8 Gerd Kortemeyer
# 7/26 H.K. Ng
+# 8/20 Gerd Kortemeyer
package Apache::grades;
use strict;
@@ -17,11 +44,16 @@ sub moreinfo {
$request->print("Unable to process request: $reason");
if ( $Apache::grades::viewgrades eq 'F' ) {
$request->print('
');
}
return '';
@@ -32,7 +64,9 @@ sub listStudents {
my ($request) = shift;
my ($cdom,$cnum) = split(/_/,$ENV{'request.course.id'});
my $chome=$ENV{"course.$ENV{'request.course.id'}.home"};
- $request->print ("Found $cdom:$cnum:$chome
");
+ $request->print ('Show Student Submissions on Assessment
'.
+ 'Username | Domain | Name | |
'
+ );
my (%classlist) = &getclasslist($cdom,$cnum,$chome,'0');
foreach my $student ( sort(@{ $classlist{'allids'} }) ) {
my ($sname,$sdom) = split(/:/,$student);
@@ -40,22 +74,34 @@ sub listStudents {
my $reply=&Apache::lonnet::reply('get:'.$sdom.':'.$sname.
':environment:lastname&generation&firstname&middlename',
&Apache::lonnet::homeserver($sname,$sdom));
- print "reply=$reply
";
+ #print "reply=$reply
";
my (@nameparts) = split /&/,$reply;
# my $sfullname = $Apache::lonnet::unescape($nameparts[0]);
if ( $Apache::grades::viewgrades eq 'F' ) {
- $request->print('');
+ $request->print(
+ "\n".'
');
}
}
-
+ $request->print('
');
}
@@ -90,10 +136,10 @@ sub getclasslist {
my ($end,$start)=split(/:/,$value);
# still a student?
if (($hideexpired) && ($end) && ($end < $now)) {
- print "Skipping:$name:$end:$now
\n";
+ #print "Skipping:$name:$end:$now
\n";
next;
}
- print "record=$record
";
+ #print "record=$record
";
push( @{ $classlist{'allids'} }, $name);
}
return (%classlist);
@@ -210,11 +256,23 @@ sub submission {
# if ($ENV{'form.student'} eq '') { &listStudents($request); return ''; }
my ($uname,$udom) = &finduser($ENV{'form.student'});
if ($uname eq '') { &moreinfo($request,"Unable to find student"); return ''; }
- my $symb=&Apache::lonnet::symbread($url);
+ my $symb;
+ if ($ENV{'form.symb'}) {
+ $symb=$ENV{'form.symb'};
+ } else {
+ $symb=&Apache::lonnet::symbread($url);
+ }
if ($symb eq '') { $request->print("Unable to handle ambiguous references:$url:."); return ''; }
my $answer=&Apache::loncommon::get_previous_attempt($symb,$uname,$udom,
$ENV{'request.course.id'});
my $result=" Submission Record
$uname:$udom for $url
".$answer;
+ my $rendered=&Apache::loncommon::get_student_view($symb,$uname,$udom,
+ $ENV{'request.course.id'});
+ $result.="Student's view of the problem:
$rendered
Correct answer:";
+
+ my $answer=&Apache::loncommon::get_student_answers($symb,$uname,$udom,
+ $ENV{'request.course.id'});
+ $result.=$answer;
return $result;
}
@@ -244,8 +302,8 @@ sub viewgrades {
#start the form
$result = '