'."\n";
+ return $result;
+}
- #get resource reference
- my ($symb,$url)=&get_symb_and_url($request);
- if (!$symb) {return '';}
- #get classlist
- my ($cdom,$cnum) = split(/_/,$ENV{'request.course.id'});
- #print "Found $cdom:$cnum ";
- my (%classlist) = &getclasslist($cdom,$cnum,'0');
- my $headerclr = '"#ccffff"';
- my $cellclr = '"#ffffcc"';
-
- #get list of parts for this problem
- my (@parts) = &getpartlist($url);
-
- $request->print ("
'."\n".
+ ''."\n".
+ ''."\n".
+ ''."\n".
+ ''."\n";
+
+ $result.='To assign the same score for all the students use the radio buttons or '.
+ 'text box below. To assign scores individually fill in the score boxes for '.
+ 'each student in the table below. A score that has already '.
+ 'been graded does not get changed using the radio buttons or text box. '.
+ 'If needed, it has to be changed individually.';
+
+ my ($partlist,$handgrade) = &response_type($ENV{'form.url'});
+ my %weight = ();
+ my $ctsparts = 0;
+ $result.='
';
+ for (sort keys(%$handgrade)) {
+ my ($responsetype,$handgrade)=split(/:/,$$handgrade{$_});
+ my ($partid,$respid) = split (/_/);
+ my $wgt = &Apache::lonnet::EXT('resource.'.$partid.'.weight',$symb);
+ $weight{$partid} = $wgt eq '' ? '1' : $wgt;
+
+ $result.=''."\n";
+ $result.='
Part ID: '.$partid.'
';
+ $result.='
';
+ my $ctr = 0;
+ while ($ctr<=$weight{$partid}) { # display radio buttons in a nice table 10 across
+ $result.= '
'."\n";
+ #get list of parts for this problem
+ my (@parts) = sort(&getpartlist($url));
+ foreach my $part (@parts) {
+ my $display=&Apache::lonnet::metadata($url,$part.'.display');
+ next if ($display =~ /^Number of Attempts/);
+ if (!$display) { $display = &Apache::lonnet::metadata($url,$part.'.name'); }
+ if ($display =~ /^Partial Credit Factor/) {
+ $_ = $display;
+ my ($partid) = /.*?(\d+).*/;
+ $result.='
Score Part '.$partid.' (weight = '.
+ $weight{$partid}.')