version 1.105, 2003/06/20 21:45:20
|
version 1.109, 2003/07/02 15:30:21
|
Line 136 sub getclasslist {
|
Line 136 sub getclasslist {
|
} |
} |
} |
} |
$section = ($section ne '' ? $section : 'no'); |
$section = ($section ne '' ? $section : 'no'); |
if (1 || &canview($section)) { |
if (&canview($section)) { |
if ($getsec eq 'all' || $getsec eq $section) { |
if ($getsec eq 'all' || $getsec eq $section) { |
$sections{$section}++; |
$sections{$section}++; |
$fullnames{$_}=$fullname; |
$fullnames{$_}=$fullname; |
Line 1264 KEYWORDS
|
Line 1264 KEYWORDS
|
} else { |
} else { |
for my $part (sort keys(%$handgrade)) { |
for my $part (sort keys(%$handgrade)) { |
foreach (@$string) { |
foreach (@$string) { |
my ($partid,$respid) = /^resource\.(\d+)\.(\d+)\.submission/; |
my ($partid,$respid) = /^resource\.(\w+)\.(\w+)\.submission/; |
if ($part eq ($partid.'_'.$respid)) { |
if ($part eq ($partid.'_'.$respid)) { |
my ($ressub,$subval) = split(/:/,$_,2); |
my ($ressub,$subval) = split(/:/,$_,2); |
# Similarity check |
# Similarity check |
Line 1673 sub viewgrades_js {
|
Line 1673 sub viewgrades_js {
|
var textbox = eval("document.classgrade.TEXTVAL_"+partid); |
var textbox = eval("document.classgrade.TEXTVAL_"+partid); |
if (point == "textval") { |
if (point == "textval") { |
var point = eval("document.classgrade.TEXTVAL_"+partid+".value"); |
var point = eval("document.classgrade.TEXTVAL_"+partid+".value"); |
if (isNaN(point) || point < 0) { |
if (isNaN(point) || parseFloat(point) < 0) { |
alert("A number equal or greater than 0 is expected. Entered value = "+point); |
alert("A number equal or greater than 0 is expected. Entered value = "+parseFloat(point)); |
var resetbox = false; |
var resetbox = false; |
for (var i=0; i<radioButton.length; i++) { |
for (var i=0; i<radioButton.length; i++) { |
if (radioButton[i].checked) { |
if (radioButton[i].checked) { |
Line 1687 sub viewgrades_js {
|
Line 1687 sub viewgrades_js {
|
} |
} |
return; |
return; |
} |
} |
if (point > weight) { |
if (parseFloat(point) > parseFloat(weight)) { |
var resp = confirm("You entered a value ("+point+ |
var resp = confirm("You entered a value ("+parseFloat(point)+ |
") greater than the weight for the part. Accept?"); |
") greater than the weight for the part. Accept?"); |
if (resp == false) { |
if (resp == false) { |
textbox.value = ""; |
textbox.value = ""; |
Line 1697 sub viewgrades_js {
|
Line 1697 sub viewgrades_js {
|
} |
} |
for (var i=0; i<radioButton.length; i++) { |
for (var i=0; i<radioButton.length; i++) { |
radioButton[i].checked=false; |
radioButton[i].checked=false; |
if (point == i) { |
if (parseFloat(point) == i) { |
radioButton[i].checked=true; |
radioButton[i].checked=true; |
} |
} |
} |
} |
Line 1771 sub viewgrades_js {
|
Line 1771 sub viewgrades_js {
|
var point = textbox.value; |
var point = textbox.value; |
var weight = eval("document.classgrade.weight_"+partid+".value"); |
var weight = eval("document.classgrade.weight_"+partid+".value"); |
|
|
if (isNaN(point) || point < 0) { |
if (isNaN(point) || parseFloat(point) < 0) { |
alert("A number equal or greater than 0 is expected. Entered value = "+point); |
alert("A number equal or greater than 0 is expected. Entered value = "+parseFloat(point)); |
textbox.value = ""; |
textbox.value = ""; |
return; |
return; |
} |
} |
if (point > weight) { |
if (parseFloat(point) > parseFloat(weight)) { |
var resp = confirm("You entered a value ("+point+ |
var resp = confirm("You entered a value ("+parseFloat(point)+ |
") greater than the weight of the part. Accept?"); |
") greater than the weight of the part. Accept?"); |
if (resp == false) { |
if (resp == false) { |
textbox.value = ""; |
textbox.value = ""; |
Line 1847 sub viewgrades {
|
Line 1847 sub viewgrades {
|
|
|
#beginning of class grading form |
#beginning of class grading form |
$result.= '<form action="/adm/grades" method="post" name="classgrade">'."\n". |
$result.= '<form action="/adm/grades" method="post" name="classgrade">'."\n". |
'<input type="hidden" name="symb" value="'.$symb.'" /resu\n". |
'<input type="hidden" name="symb" value="'.$symb.'" />'."\n". |
'<input type="hidden" name="url" value="'.$url.'" />'."\n". |
'<input type="hidden" name="url" value="'.$url.'" />'."\n". |
'<input type="hidden" name="command" value="editgrades" />'."\n". |
'<input type="hidden" name="command" value="editgrades" />'."\n". |
'<input type="hidden" name="section" value="'.$ENV{'form.section'}.'" />'."\n". |
'<input type="hidden" name="section" value="'.$ENV{'form.section'}.'" />'."\n". |
Line 2083 sub editgrades {
|
Line 2083 sub editgrades {
|
$line .= '<tr bgcolor="#ffffde"><td>'.$uname.' </td><td>'. |
$line .= '<tr bgcolor="#ffffde"><td>'.$uname.' </td><td>'. |
$udom.' </td><td>'. |
$udom.' </td><td>'. |
$$fullname{$usercolon}.' </td>'; |
$$fullname{$usercolon}.' </td>'; |
my $usec=%$classlist->{"$uname:$udom"}[5]; |
my $usec=$classlist->{"$uname:$udom"}[5]; |
if (!&canmodify($usec)) { |
if (!&canmodify($usec)) { |
my $numcols=scalar(@partid)*(scalar(@parts)-1)*2; |
my $numcols=scalar(@partid)*(scalar(@parts)-1)*2; |
$noupdate.=$line."<td colspan=\"$numcols\"><font color=\"red\">Not allowed to modify student</font></td></tr>"; |
$noupdate.=$line."<td colspan=\"$numcols\"><font color=\"red\">Not allowed to modify student</font></td></tr>"; |
Line 2350 CSVFORMJS
|
Line 2350 CSVFORMJS
|
$result.='<tr bgcolor=#ffffe6><td>'."\n"; |
$result.='<tr bgcolor=#ffffe6><td>'."\n"; |
my $upfile_select=&Apache::loncommon::upfile_select_html(); |
my $upfile_select=&Apache::loncommon::upfile_select_html(); |
$result.=<<ENDUPFORM; |
$result.=<<ENDUPFORM; |
<form method="post" enctype="multipart/form-data" action="/adm/grades" name="gradesupload" target="LONcatInfo"> |
<form method="post" enctype="multipart/form-data" action="/adm/grades" name="gradesupload"> |
<input type="hidden" name="symb" value="$symb" /> |
<input type="hidden" name="symb" value="$symb" /> |
<input type="hidden" name="url" value="$url" /> |
<input type="hidden" name="url" value="$url" /> |
<input type="hidden" name="command" value="csvuploadmap" /> |
<input type="hidden" name="command" value="csvuploadmap" /> |
Line 2429 sub csvuploadassign {
|
Line 2429 sub csvuploadassign {
|
$request->print('<h3>Assigning Grades</h3>'); |
$request->print('<h3>Assigning Grades</h3>'); |
my $courseid=$ENV{'request.course.id'}; |
my $courseid=$ENV{'request.course.id'}; |
my ($classlist) = &getclasslist('all',0); |
my ($classlist) = &getclasslist('all',0); |
|
my @notallowed; |
my @skipped; |
my @skipped; |
my $countdone=0; |
my $countdone=0; |
foreach my $grade (@gradedata) { |
foreach my $grade (@gradedata) { |
Line 2439 sub csvuploadassign {
|
Line 2440 sub csvuploadassign {
|
push(@skipped,"$username:$domain"); |
push(@skipped,"$username:$domain"); |
next; |
next; |
} |
} |
|
my $usec=$classlist->{"$username:$domain"}[5]; |
|
if (!&canmodify($usec)) { |
|
push(@notallowed,"$username:$domain"); |
|
next; |
|
} |
my %grades; |
my %grades; |
foreach my $dest (keys(%fields)) { |
foreach my $dest (keys(%fields)) { |
if ($dest eq 'username' || $dest eq 'domain') { next; } |
if ($dest eq 'username' || $dest eq 'domain') { next; } |
Line 2457 sub csvuploadassign {
|
Line 2463 sub csvuploadassign {
|
} |
} |
$request->print("<br />Stored $countdone students\n"); |
$request->print("<br />Stored $countdone students\n"); |
if (@skipped) { |
if (@skipped) { |
$request->print('<br /><font size="+1"><b>Skipped Students</b></font><br />'); |
$request->print('<p<font size="+1"><b>Skipped Students</b></font></p>'); |
foreach my $student (@skipped) { $request->print("<br />$student"); } |
foreach my $student (@skipped) { $request->print("$student<br />\n"); } |
|
} |
|
if (@notallowed) { |
|
$request->print('<p><font size="+1" color="red"><b>Students Not Allowed to Modify</b></font></p>'); |
|
foreach my $student (@notallowed) { $request->print("$student<br />\n"); } |
} |
} |
|
$request->print("<br />\n"); |
$request->print(&show_grading_menu_form($symb,$url)); |
$request->print(&show_grading_menu_form($symb,$url)); |
return ''; |
return ''; |
} |
} |
Line 3501 sub handler {
|
Line 3512 sub handler {
|
delete($perm{'mgr'}); |
delete($perm{'mgr'}); |
} |
} |
} |
} |
#delete($perm{'mgr'}); |
|
#$Apache::lonxml::debug=1; |
|
#&Apache::lonxml::debug("command is $command"); |
|
|
|
if ($command eq 'submission' && $perm{'vgr'}) { |
if ($command eq 'submission' && $perm{'vgr'}) { |
($ENV{'form.student'} eq '' ? &listStudents($request) : &submission($request,0,0)); |
($ENV{'form.student'} eq '' ? &listStudents($request) : &submission($request,0,0)); |
Line 3521 sub handler {
|
Line 3529 sub handler {
|
$request->print(&viewgrades($request)); |
$request->print(&viewgrades($request)); |
} elsif ($command eq 'handgrade' && $perm{'mgr'}) { |
} elsif ($command eq 'handgrade' && $perm{'mgr'}) { |
$request->print(&processHandGrade($request)); |
$request->print(&processHandGrade($request)); |
} elsif ($command eq 'editgrades' && $perm{'mgr'} ) { |
} elsif ($command eq 'editgrades' && $perm{'mgr'}) { |
$request->print(&editgrades($request)); |
$request->print(&editgrades($request)); |
} elsif ($command eq 'verify') { |
} elsif ($command eq 'verify' && $perm{'vgr'}) { |
$request->print(&verifyreceipt($request)); |
$request->print(&verifyreceipt($request)); |
} elsif ($command eq 'csvform') { |
} elsif ($command eq 'csvform' && $perm{'mgr'}) { |
$request->print(&upcsvScores_form($request)); |
$request->print(&upcsvScores_form($request)); |
} elsif ($command eq 'csvupload') { |
} elsif ($command eq 'csvupload' && $perm{'mgr'}) { |
$request->print(&csvupload($request)); |
$request->print(&csvupload($request)); |
} elsif ($command eq 'viewclasslist') { |
} elsif ($command eq 'csvuploadmap' && $perm{'mgr'} ) { |
$request->print(&viewclasslist($request)); |
|
} elsif ($command eq 'csvuploadmap') { |
|
$request->print(&csvuploadmap($request)); |
$request->print(&csvuploadmap($request)); |
} elsif ($command eq 'csvuploadassign') { |
} elsif ($command eq 'csvuploadassign' && $perm{'mgr'}) { |
if ($ENV{'form.associate'} ne 'Reverse Association') { |
if ($ENV{'form.associate'} ne 'Reverse Association') { |
$request->print(&csvuploadassign($request)); |
$request->print(&csvuploadassign($request)); |
} else { |
} else { |
Line 3544 sub handler {
|
Line 3550 sub handler {
|
} |
} |
$request->print(&csvuploadmap($request)); |
$request->print(&csvuploadmap($request)); |
} |
} |
} elsif ($command eq 'scantron_selectphase') { |
} elsif ($command eq 'scantron_selectphase' && $perm{'mgr'}) { |
$request->print(&scantron_selectphase($request)); |
$request->print(&scantron_selectphase($request)); |
} elsif ($command eq 'scantron_process') { |
} elsif ($command eq 'scantron_process' && $perm{'mgr'}) { |
$request->print(&scantron_process_students($request)); |
$request->print(&scantron_process_students($request)); |
} else { |
} elsif ($command) { |
$request->print("Unknown action: $command:"); |
$request->print("Access Denied"); |
} |
} |
} |
} |
&send_footer($request); |
&send_footer($request); |