--- 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.=(<<ENDHEADER);
 <br /><table width="100%" border="0"><tr><td bgcolor="#777777">
@@ -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.='<br />'.$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.="<br /><span class=\"LC_error\">Failed to save student $username:$domain. Message when trying to save was ($returncode)</span>";
+          } else {
+             $storecount++;
+          }
        }
     }
 # We are done
-    $result.='</td></tr></table>'."\n".
+    $result.='<br />'.&mt('Successfully stored grades for [_1] student(s).',$storecount).
+             '</td></tr></table>'."\n".
              '</td></tr></table><br /><br />'."\n";
     return $result.&show_grading_menu_form($symb);
 }