version 1.260, 2005/04/07 22:48:06
|
version 1.267, 2005/05/26 21:15:04
|
Line 626 LISTJAVASCRIPT
|
Line 626 LISTJAVASCRIPT
|
my $checklastsub = $checkhdgrade eq '' ? 'checked' : ''; |
my $checklastsub = $checkhdgrade eq '' ? 'checked' : ''; |
my $gradeTable='<form action="/adm/grades" method="post" name="gradesub">'. |
my $gradeTable='<form action="/adm/grades" method="post" name="gradesub">'. |
"\n".$table. |
"\n".$table. |
' <b>View Problem Text: </b><input type="radio" name="vProb" value="no" checked="on" /> no '."\n". |
' <b>View Problem Text: </b><label><input type="radio" name="vProb" value="no" checked="on" /> no </label>'."\n". |
'<input type="radio" name="vProb" value="yes" /> one student '."\n". |
'<label><input type="radio" name="vProb" value="yes" /> one student </label>'."\n". |
'<input type="radio" name="vProb" value="all" /> all students <br />'."\n". |
'<label><input type="radio" name="vProb" value="all" /> all students </label><br />'."\n". |
' <b>View Answer: </b><input type="radio" name="vAns" value="no" /> no '."\n". |
' <b>View Answer: </b><label><input type="radio" name="vAns" value="no" /> no </label>'."\n". |
'<input type="radio" name="vAns" value="yes" /> one student '."\n". |
'<label><input type="radio" name="vAns" value="yes" /> one student </label>'."\n". |
'<input type="radio" name="vAns" value="all" checked="on" /> all students <br />'."\n". |
'<label><input type="radio" name="vAns" value="all" checked="on" /> all students </label><br />'."\n". |
' <b>Submissions: </b>'."\n"; |
' <b>Submissions: </b>'."\n"; |
if ($env{'form.handgrade'} eq 'yes' && scalar(@$partlist) > 1) { |
if ($env{'form.handgrade'} eq 'yes' && scalar(@$partlist) > 1) { |
$gradeTable.='<input type="radio" name="lastSub" value="hdgrade" '.$checkhdgrade.' /> essay part only'."\n"; |
$gradeTable.='<label><input type="radio" name="lastSub" value="hdgrade" '.$checkhdgrade.' /> essay part only </label>'."\n"; |
} |
} |
|
|
my $saveStatus = $env{'form.Status'} eq '' ? 'Active' : $env{'form.Status'}; |
my $saveStatus = $env{'form.Status'} eq '' ? 'Active' : $env{'form.Status'}; |
$env{'form.Status'} = $saveStatus; |
$env{'form.Status'} = $saveStatus; |
|
|
$gradeTable.='<input type="radio" name="lastSub" value="lastonly" '.$checklastsub.' /> last submission only'."\n". |
$gradeTable.='<label><input type="radio" name="lastSub" value="lastonly" '.$checklastsub.' /> last submission only </label>'."\n". |
'<input type="radio" name="lastSub" value="last" /> last submission & parts info'."\n". |
'<label><input type="radio" name="lastSub" value="last" /> last submission & parts info </label>'."\n". |
'<input type="radio" name="lastSub" value="datesub" /> by dates and submissions'."\n". |
'<label><input type="radio" name="lastSub" value="datesub" /> by dates and submissions </label>'."\n". |
'<input type="radio" name="lastSub" value="all" /> all details'."\n". |
'<label><input type="radio" name="lastSub" value="all" /> all details</label>'."\n". |
'<input type="hidden" name="section" value="'.$getsec.'" />'."\n". |
'<input type="hidden" name="section" value="'.$getsec.'" />'."\n". |
'<input type="hidden" name="submitonly" value="'.$submitonly.'" />'."\n". |
'<input type="hidden" name="submitonly" value="'.$submitonly.'" />'."\n". |
'<input type="hidden" name="handgrade" value="'.$env{'form.handgrade'}.'" /><br />'."\n". |
'<input type="hidden" name="handgrade" value="'.$env{'form.handgrade'}.'" /><br />'."\n". |
Line 671 LISTJAVASCRIPT
|
Line 671 LISTJAVASCRIPT
|
'onClick="javascript:checkSelect(this.form.stuinfo);" '."\n". |
'onClick="javascript:checkSelect(this.form.stuinfo);" '."\n". |
'value="Next->" /> <br />'."\n"; |
'value="Next->" /> <br />'."\n"; |
$gradeTable.=&check_buttons(); |
$gradeTable.=&check_buttons(); |
$gradeTable.='<input type="checkbox" name="checkPlag" checked="on">Check For Plagiarism</input>'; |
$gradeTable.='<label><input type="checkbox" name="checkPlag" checked="on" />Check For Plagiarism</label>'; |
my ($classlist, undef, $fullname) = &getclasslist($getsec,'1'); |
my ($classlist, undef, $fullname) = &getclasslist($getsec,'1'); |
$gradeTable.='<table border="0"><tr><td bgcolor="#777777">'. |
$gradeTable.='<table border="0"><tr><td bgcolor="#777777">'. |
'<table border="0"><tr bgcolor="#e6ffff">'; |
'<table border="0"><tr bgcolor="#e6ffff">'; |
Line 2109 sub processHandGrade {
|
Line 2109 sub processHandGrade {
|
#---- Save the score and award for each student, if changed |
#---- Save the score and award for each student, if changed |
sub saveHandGrade { |
sub saveHandGrade { |
my ($request,$url,$symb,$stuname,$domain,$newflg,$submitter,$part) = @_; |
my ($request,$url,$symb,$stuname,$domain,$newflg,$submitter,$part) = @_; |
my $v_flag=0; |
my @v_flag; |
my $usec = &Apache::lonnet::getsection($domain,$stuname, |
my $usec = &Apache::lonnet::getsection($domain,$stuname, |
$env{'request.course.id'}); |
$env{'request.course.id'}); |
if (!&canmodify($usec)) { return('not_allowed'); } |
if (!&canmodify($usec)) { return('not_allowed'); } |
Line 2174 sub saveHandGrade {
|
Line 2174 sub saveHandGrade {
|
} |
} |
# unless problem has been graded, set flag to version the submitted files |
# unless problem has been graded, set flag to version the submitted files |
unless ($record{'resource.'.$new_part.'.solved'} =~ /^correct_/ || $record{'resource.'.$new_part.'.solved'} eq 'incorrect_by_override') { |
unless ($record{'resource.'.$new_part.'.solved'} =~ /^correct_/ || $record{'resource.'.$new_part.'.solved'} eq 'incorrect_by_override') { |
$v_flag = 1; |
push (@v_flag,$new_part); |
} |
} |
} |
} |
if (scalar(keys(%newrecord)) > 0) { |
if (scalar(keys(%newrecord)) > 0) { |
if ($v_flag) { |
if (scalar(@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, \@v_flag); |
&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 2190 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 2230 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); |
} |
} |
} |
} |
return 'ok'; |
return 'ok'; |
Line 2304 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 2317 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 2334 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 2488 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 3781 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 4236 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 |
} |
} |