--- loncom/homework/grades.pm 2007/06/16 23:00:09 1.415
+++ loncom/homework/grades.pm 2007/06/17 02:11:44 1.416
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
#
-# $Id: grades.pm,v 1.415 2007/06/16 23:00:09 www Exp $
+# $Id: grades.pm,v 1.416 2007/06/17 02:11:44 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -6453,7 +6453,13 @@ sub assign_clicker_grades {
my ($r)=@_;
my ($symb)=&get_symb($r);
if (!$symb) {return '';}
+# See which part we are saving to
+ my ($partlist,$handgrade,$responseType) = &response_type($symb);
+# FIXME: This should probably look for the first handgradeable part
+ my $part=$$partlist[0];
+# Start screen output
my ($result) = &showResourceInfo($symb,$env{'form.probTitle'});
+
my $heading=&mt('Assigning grades based on clicker file');
$result.=(<
@@ -6493,6 +6499,7 @@ ENDHEADER
# Start grading
my $pcorrect=$env{'form.pcorrect'};
my $pincorrect=$env{'form.pincorrect'};
+ my $storecount=0;
foreach my $key (keys(%env)) {
if ($key=~/^form\.student\:(.*)$/) {
my $user=$1;
@@ -6511,12 +6518,26 @@ ENDHEADER
}
}
}
- my $ave=$sum/$number;
- $result.=' '.$user.' - '.$env{$key}.': '.$ave; + my $ave=$sum/(100*$number); +# Store + my ($username,$domain)=split(/\:/,$user); + my %grades=(); + $grades{"resource.$part.solved"}='correct_by_override'; + $grades{"resource.$part.awarded"}=$ave; + $grades{"resource.regrader"}="$env{'user.name'}:$env{'user.domain'}"; + my $returncode=&Apache::lonnet::cstore(\%grades,$symb, + $env{'request.course.id'}, + $domain,$username); + if ($returncode ne 'ok') { + $result.=" Failed to save student $username:$domain. Message when trying to save was ($returncode)"; + } else { + $storecount++; + } } } # We are done - $result.=' |