'.''."\n".
'';
$result.='';
+ 'onClick="javascript:resetEntry('.$ctsparts.');" target="_self" />';
#table listing all the students in a section/class
#header of table
@@ -3087,7 +3087,7 @@ sub viewgrades {
$result.='';
$result.=''."\n";
$result.=''."\n";
+ 'onClick="javascript:submit();" target="_self" />'."\n";
if (scalar(%$fullname) eq 0) {
my $colspan=3+scalar(@parts);
$result='There are no students in section "'.$env{'form.section'}.
@@ -3107,7 +3107,7 @@ sub viewstudentgrade {
''.
"\n".$ctr.'
'."\n";
$student=~s/:/_/; # colon doen't work in javascript for names
foreach my $apart (@$parts) {
@@ -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.='