Diff for /loncom/homework/grades.pm between versions 1.6 and 1.9

version 1.6, 2001/04/17 21:07:38 version 1.9, 2001/07/26 15:50:25
Line 1 Line 1
 # The LON-CAPA Grading handler  # The LON-CAPA Grading handler
 # 2/9,2/13 Guy Albertelli  # 2/9,2/13 Guy Albertelli
   # 6/8 Gerd Kortemeyer
   
 package Apache::grades;  package Apache::grades;
 use strict;  use strict;
Line 26  sub moreinfo { Line 27  sub moreinfo {
 }  }
   
   
 #FIXME - needs to be much smarter  #FIXME - needs to handle multiple matches
 sub finduser {  sub finduser {
   my ($name) = @_;    my ($name) = @_;
     my $domain = '';
   
   if ( $Apache::grades::viewgrades eq 'F' ) {    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<br />";
       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 {    } else {
     return ($ENV{'user.name'},$ENV{'user.domain'});      return ($ENV{'user.name'},$ENV{'user.domain'});
   }    }
Line 73  sub viewstudentgrade { Line 84  sub viewstudentgrade {
   
   my ($stuname,$domain) = split(/:/,$student);    my ($stuname,$domain) = split(/:/,$student);
   
   my %record=&Apache::lonnet::restore($symb,$courseid,$domain,$stuname,    my %record=&Apache::lonnet::restore($symb,$courseid,$domain,$stuname);
       &Apache::lonnet::homeserver($stuname,$domain));  
   
   $result.="<tr><td>$stuname</td><td>$domain</td>\n";    $result.="<tr><td>$stuname</td><td>$domain</td>\n";
   foreach my $part (@parts) {    foreach my $part (@parts) {
Line 115  sub setstudentgrade { Line 125  sub setstudentgrade {
   
   my ($stuname,$domain) = split(/:/,$student);    my ($stuname,$domain) = split(/:/,$student);
   
   my %record=&Apache::lonnet::restore($symb,$courseid,$domain,$stuname,    my %record=&Apache::lonnet::restore($symb,$courseid,$domain,$stuname);
       &Apache::lonnet::homeserver($stuname,$domain));  
   my %newrecord;    my %newrecord;
   
   foreach my $part (@parts) {    foreach my $part (@parts) {
Line 152  sub setstudentgrade { Line 162  sub setstudentgrade {
   }    }
   if ( scalar(keys(%newrecord)) > 0 ) {    if ( scalar(keys(%newrecord)) > 0 ) {
     $newrecord{"resource.regrader"}="$ENV{'user.name'}:$ENV{'user.domain'}";      $newrecord{"resource.regrader"}="$ENV{'user.name'}:$ENV{'user.domain'}";
     &Apache::lonnet::cstore(\%newrecord,$symb,$courseid,$domain,$stuname,      &Apache::lonnet::cstore(\%newrecord,$symb,$courseid,$domain,$stuname);
     &Apache::lonnet::homeserver($stuname,$domain));  
     $result.="Stored away ".scalar(keys(%newrecord))." elements.<br />\n";      $result.="Stored away ".scalar(keys(%newrecord))." elements.<br />\n";
   }    }
   return $result;    return $result;
Line 168  sub submission { Line 177  sub submission {
   if ($uname eq '') { &moreinfo($request,"Unable to find student"); return ''; }    if ($uname eq '') { &moreinfo($request,"Unable to find student"); return ''; }
   my $symb=&Apache::lonnet::symbread($url);    my $symb=&Apache::lonnet::symbread($url);
   if ($symb eq '') { $request->print("Unable to handle ambiguous references:$url:."); return ''; }    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,
   my $answer=&Apache::loncommon::get_previous_attempt($symb,$uname,$udom,$home,  
       $ENV{'request.course.id'});        $ENV{'request.course.id'});
   my $result="<h2> Submission Record </h2>  $uname:$udom for $url".$answer;    my $result="<h2> Submission Record </h2>  $uname:$udom for $url".$answer;
   return $result;    return $result;

Removed from v.1.6  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>