version 1.262, 2005/04/08 20:12:58
|
version 1.266, 2005/05/15 01:42:31
|
Line 2178 sub saveHandGrade {
|
Line 2178 sub saveHandGrade {
|
} |
} |
} |
} |
if (scalar(keys(%newrecord)) > 0) { |
if (scalar(keys(%newrecord)) > 0) { |
if (scalar @v_flag) { |
if (scalar(@v_flag)) { |
foreach my $part_flagged (@v_flag) { |
&version_portfiles(\%record, \@parts_graded, $env{'request.course.id'}, $symb, $domain, $stuname, \@v_flag); |
&Apache::lonnet::unmark_as_readonly($domain,$stuname,$symb.$env{'request.course.id'}); |
|
&version_portfiles(\%record, \@parts_graded, $env{'request.course.id'}, $symb, $domain, $stuname); |
|
} |
|
} |
} |
&Apache::lonnet::cstore(\%newrecord,$symb, |
&Apache::lonnet::cstore(\%newrecord,$symb, |
$env{'request.course.id'},$domain,$stuname); |
$env{'request.course.id'},$domain,$stuname); |
Line 2192 sub saveHandGrade {
|
Line 2189 sub saveHandGrade {
|
|
|
# ----------- Handles creating versions for portfolio files as answers |
# ----------- Handles creating versions for portfolio files as answers |
sub version_portfiles { |
sub version_portfiles { |
my ($record, $parts_graded, $courseid, $symb, $domain, $stuname) = @_; |
my ($record, $parts_graded, $courseid, $symb, $domain, $stuname, $v_flag) = @_; |
|
my $version_parts = join('|',@$v_flag); |
my $parts = join('|', @$parts_graded); |
my $parts = join('|', @$parts_graded); |
my $portfolio_root = &Apache::loncommon::propath($domain, |
my $portfolio_root = &Apache::loncommon::propath($domain, |
$stuname). |
$stuname). |
'/userfiles/portfolio'; |
'/userfiles/portfolio'; |
foreach my $key(keys %$record) { |
foreach my $key(keys %$record) { |
#&Apache::lonnet::logthis("key is $key, value is $$record{$key}"); |
|
my $new_portfiles; |
my $new_portfiles; |
if ($key =~ /^resource\.($parts)\./ && $key =~ /\.portfiles$/) { |
if ($key =~ /^resource\.($version_parts)\./ && $key =~ /\.portfiles$/ ) { |
my @v_portfiles; |
my @v_portfiles; |
my @portfiles = split(/,/,$$record{$key}); |
my @portfiles = split(/,/,$$record{$key}); |
|
# &Apache::lonnet::logthis("should be unmarking and remarking"); |
foreach my $file (@portfiles) { |
foreach my $file (@portfiles) { |
|
&Apache::lonnet::unmark_as_readonly($domain,$stuname,[$symb,$env{'request.course.id'}],$file); |
my ($directory,$answer_file) =($file =~ /^(.*?)([^\/]*$)/); |
my ($directory,$answer_file) =($file =~ /^(.*?)([^\/]*$)/); |
my $version = 0; |
my $version = 0; |
my @answer_file_parts = split(/\./, $answer_file); |
my @answer_file_parts = split(/\./, $answer_file); |
Line 2232 sub version_portfiles {
|
Line 2231 sub version_portfiles {
|
my $copy_result = &Apache::lonnet::finishuserfileupload($stuname,$domain,$home_server,'copy', |
my $copy_result = &Apache::lonnet::finishuserfileupload($stuname,$domain,$home_server,'copy', |
'/portfolio'.$directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
'/portfolio'.$directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
push(@v_portfiles, $answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
push(@v_portfiles, $answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]); |
|
&Apache::lonnet::mark_as_readonly($domain,$stuname, |
|
['/portfolio'.$directory.$answer_file_parts[0].'.'.$version.'.'.$answer_file_parts[-1]], |
|
[$symb,$env{'request.course.id'},'graded']); |
} |
} |
} |
} |
$$record{$key} = join(',',@v_portfiles); |
$$record{$key} = join(',',@v_portfiles); |
Line 2306 sub viewgrades_js {
|
Line 2308 sub viewgrades_js {
|
function writeRadText(partid,weight) { |
function writeRadText(partid,weight) { |
var selval = document.classgrade["SELVAL_"+partid]; |
var selval = document.classgrade["SELVAL_"+partid]; |
var radioButton = document.classgrade["RADVAL_"+partid]; |
var radioButton = document.classgrade["RADVAL_"+partid]; |
|
var override = document.classgrade["FORCE_"+partid].checked; |
var textbox = document.classgrade["TEXTVAL_"+partid]; |
var textbox = document.classgrade["TEXTVAL_"+partid]; |
if (selval[1].selected || selval[2].selected) { |
if (selval[1].selected || selval[2].selected) { |
for (var i=0; i<radioButton.length; i++) { |
for (var i=0; i<radioButton.length; i++) { |
Line 2319 sub viewgrades_js {
|
Line 2322 sub viewgrades_js {
|
var scorename = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
var scorename = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
var saveval = document.classgrade["GD_"+user+"_"+partid+"_solved_s"].value; |
var saveval = document.classgrade["GD_"+user+"_"+partid+"_solved_s"].value; |
var selname = document.classgrade["GD_"+user+"_"+partid+"_solved"]; |
var selname = document.classgrade["GD_"+user+"_"+partid+"_solved"]; |
if (saveval != "correct") { |
if ((saveval != "correct") || override) { |
scorename.value = ""; |
scorename.value = ""; |
if (selval[1].selected) { |
if (selval[1].selected) { |
selname[1].selected = true; |
selname[1].selected = true; |
Line 2336 sub viewgrades_js {
|
Line 2339 sub viewgrades_js {
|
var scorename = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
var scorename = document.classgrade["GD_"+user+"_"+partid+"_awarded"]; |
var saveval = document.classgrade["GD_"+user+"_"+partid+"_solved_s"].value; |
var saveval = document.classgrade["GD_"+user+"_"+partid+"_solved_s"].value; |
var selname = document.classgrade["GD_"+user+"_"+partid+"_solved"]; |
var selname = document.classgrade["GD_"+user+"_"+partid+"_solved"]; |
if (saveval != "correct") { |
if ((saveval != "correct") || override) { |
scorename.value = document.classgrade["GD_"+user+"_"+partid+"_awarded_s"].value; |
scorename.value = document.classgrade["GD_"+user+"_"+partid+"_awarded_s"].value; |
selname[0].selected = true; |
selname[0].selected = true; |
} |
} |
Line 2490 sub viewgrades {
|
Line 2493 sub viewgrades {
|
$weight{$partid}.')"> '. |
$weight{$partid}.')"> '. |
'<option selected="on"> </option>'. |
'<option selected="on"> </option>'. |
'<option>excused</option>'. |
'<option>excused</option>'. |
'<option>reset status</option></select></td></tr>'."\n"; |
'<option>reset status</option></select></td>'. |
|
'<td><label><input type="checkbox" name="FORCE_'.$partid.'" /> Override "Correct"</label></td></tr>'."\n"; |
$ctsparts++; |
$ctsparts++; |
} |
} |
$result.='</table>'.'</td></tr></table>'.'</td></tr></table>'."\n". |
$result.='</table>'.'</td></tr></table>'.'</td></tr></table>'."\n". |
Line 3783 sub scantron_selectphase {
|
Line 3787 sub scantron_selectphase {
|
</tr> |
</tr> |
<tr bgcolor="#ffffe6"> |
<tr bgcolor="#ffffe6"> |
<td colspan="2"> |
<td colspan="2"> |
<input type="submit" value="Validate Scantron Records" /> |
<input type="submit" value="Grading: Validate Scantron Records" /> |
</td> |
</td> |
</tr> |
</tr> |
</table> |
</table> |
Line 4238 sub scantron_do_warning {
|
Line 4242 sub scantron_do_warning {
|
$r->print('<p><font color="red">You have not selected a the format of the student\'s response data.</font></p>'); |
$r->print('<p><font color="red">You have not selected a the format of the student\'s response data.</font></p>'); |
} |
} |
} else { |
} else { |
my $warning=&scantron_warning_screen('Validate Records'); |
my $warning=&scantron_warning_screen('Grading: Validate Records'); |
$r->print(<<STUFF); |
$r->print(<<STUFF); |
$warning |
$warning |
<input type="submit" name="submit" value="Validate Records" /> |
<input type="submit" name="submit" value="Grading: Validate Records" /> |
<input type="hidden" name="command" value="scantron_validate" /> |
<input type="hidden" name="command" value="scantron_validate" /> |
STUFF |
STUFF |
} |
} |