--- loncom/homework/grades.pm 2001/02/09 03:24:45 1.2 +++ loncom/homework/grades.pm 2001/02/13 18:41:00 1.3 @@ -1,13 +1,12 @@ # The LON-CAPA Grading handler -# Guy Albertelli -# 11/30 Gerd Kortemeyer -# 6/1 Gerd Kortemeyer +# 2/9 Guy Albertelli package Apache::grades; use strict; use Apache::style; use Apache::lonxml; use Apache::lonnet; +use Apache::loncommon; use Apache::lonhomework; use Apache::Constants qw(:common); @@ -24,22 +23,26 @@ sub moreinfo { } +#FIXME - needs to be much smarter sub finduser { my ($name) = @_; - + return ($name,$ENV{'user.domain'}); } sub submission { my ($request) = @_; + my $url=$ENV{'form.url'}; + $url=~s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--; if ($ENV{'form.student'} eq '') { &moreinfo($request,"Need student login id"); return ''; } my ($uname,$udom) = &finduser($ENV{'form.student'}); if ($uname eq '') { &moreinfo($request,"Unable to find student"); return ''; } -# my $answer=&Apache::lonnet::reply( -# "restore:$udom:$uname:". -# $ENV{'request.course.id'}.':'. -# &Apache::lonnet::escape($symb), -# &Apache::lonnet::homeserver($uname,$udom)); - return ''; + my $symb=&Apache::lonnet::symbread($url); + if ($symb eq '') { $request->print("Unable to handle ambiguous references:$url:."); return ''; } + my $home=&Apache::lonnet::homeserver($uname,$udom); + my $answer=&Apache::loncommon::get_previous_attempt($symb,$uname,$udom,$home, + $ENV{'request.course.id'}); + my $result="

Submission Record

$uname:$udom for $url".$answer; + return $result; } sub send_header { @@ -75,7 +78,7 @@ sub handler { } else { $Apache::grades::viewgrades=&Apache::lonnet::allowed('vgr',$url); if ($command eq 'submission') { - &submission($request); + $request->print(&submission($request)); } else { $request->print("Unknown action:$command:"); }