version 1.119, 2003/07/18 20:14:35
|
version 1.121, 2003/07/21 13:32:49
|
Line 197 COMMONJSFUNCTIONS
|
Line 197 COMMONJSFUNCTIONS
|
#--- section, ids and fullnames for each user. |
#--- section, ids and fullnames for each user. |
sub getclasslist { |
sub getclasslist { |
my ($getsec,$filterlist) = @_; |
my ($getsec,$filterlist) = @_; |
|
$getsec = $getsec eq '' ? 'all' : $getsec; |
my $classlist=&Apache::loncoursedata::get_classlist(); |
my $classlist=&Apache::loncoursedata::get_classlist(); |
# Bail out if we were unable to get the classlist |
# Bail out if we were unable to get the classlist |
return if (! defined($classlist)); |
return if (! defined($classlist)); |
Line 707 sub sub_page_js {
|
Line 708 sub sub_page_js {
|
} |
} |
|
|
function checkSolved(formname,id) { |
function checkSolved(formname,id) { |
if (eval("formname.solved"+id+".value") == "correct_by_student") { |
if (eval("formname.solved"+id+".value") == "correct_by_student" && formname.overRideScore.value == 'no') { |
var reply = confirm("This problem has been graded correct by the computer. Do you want to change the score?"); |
var reply = confirm("This problem has been graded correct by the computer. Do you want to change the score?"); |
if (!reply) {return "noupdate";} |
if (!reply) {return "noupdate";} |
|
formname.overRideScore.value = 'yes'; |
} |
} |
return "update"; |
return "update"; |
} |
} |
Line 720 sub sub_page_js {
|
Line 722 sub sub_page_js {
|
return; |
return; |
} |
} |
|
|
//=========== Check that a point is assigned for all the parts (essay grading only) ============ |
//=========== Check that a point is assigned for all the parts ============ |
function checksubmit(formname,val,total,parttot) { |
function checksubmit(formname,val,total,parttot) { |
document.SCORE.gradeOpt.value = val; |
formname.gradeOpt.value = val; |
if (val == "Save & Next") { |
if (val == "Save & Next") { |
for (i=0;i<=total;i++) { |
for (i=0;i<=total;i++) { |
for (j=0;j<parttot;j++) { |
for (j=0;j<parttot;j++) { |
Line 744 sub sub_page_js {
|
Line 746 sub sub_page_js {
|
} |
} |
|
|
} |
} |
|
if (val == "Grade Student") { |
|
formname.showgrading.value = "yes"; |
|
if (formname.Status.value == "") { |
|
formname.Status.value = "Active"; |
|
} |
|
formname.studentNo.value = total; |
|
} |
formname.submit(); |
formname.submit(); |
} |
} |
|
|
Line 1160 sub submission {
|
Line 1169 sub submission {
|
|
|
(my $url=$ENV{'form.url'})=~s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--; |
(my $url=$ENV{'form.url'})=~s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--; |
my ($uname,$udom) = ($ENV{'form.student'},$ENV{'form.userdom'}); |
my ($uname,$udom) = ($ENV{'form.student'},$ENV{'form.userdom'}); |
|
$udom = ($udom eq '' ? $ENV{'user.domain'} : $udom); #has form.userdom changed for a student? |
my $usec = &Apache::lonnet::getsection($udom,$uname,$ENV{'request.course.id'}); |
my $usec = &Apache::lonnet::getsection($udom,$uname,$ENV{'request.course.id'}); |
$ENV{'form.fullname'} = &get_fullname ($uname,$udom) if $ENV{'form.fullname'} eq ''; |
$ENV{'form.fullname'} = &get_fullname ($uname,$udom) if $ENV{'form.fullname'} eq ''; |
|
|
Line 1173 sub submission {
|
Line 1183 sub submission {
|
return; |
return; |
} |
} |
|
|
|
$ENV{'form.lastSub'} = ($ENV{'form.lastSub'} eq '' ? 'all' : $ENV{'form.lastSub'}); |
my $last = ($ENV{'form.lastSub'} eq 'last' ? 'last' : ''); |
my $last = ($ENV{'form.lastSub'} eq 'last' ? 'last' : ''); |
|
|
# header info |
# header info |
Line 1217 sub submission {
|
Line 1228 sub submission {
|
$ENV{'form.savemsgN'} = $keyhash{$symb.'_savemsgN'} ne '' ? $keyhash{$symb.'_savemsgN'} : '0'; |
$ENV{'form.savemsgN'} = $keyhash{$symb.'_savemsgN'} ne '' ? $keyhash{$symb.'_savemsgN'} : '0'; |
|
|
} |
} |
|
my $overRideScore = $ENV{'form.overRideScore'} eq '' ? 'no' : $ENV{'form.overRideScore'}; |
|
|
$request->print('<form action="/adm/grades" method="post" name="SCORE">'."\n". |
$request->print('<form action="/adm/grades" method="post" name="SCORE">'."\n". |
'<input type="hidden" name="command" value="handgrade" />'."\n". |
'<input type="hidden" name="command" value="handgrade" />'."\n". |
'<input type="hidden" name="saveState" value="'.$ENV{'form.saveState'}.'" />'."\n". |
'<input type="hidden" name="saveState" value="'.$ENV{'form.saveState'}.'" />'."\n". |
'<input type="hidden" name="Status" value="'.$ENV{'form.Status'}.'" />'."\n". |
'<input type="hidden" name="Status" value="'.$ENV{'form.Status'}.'" />'."\n". |
|
'<input type="hidden" name="overRideScore" value="'.$overRideScore.'" />'."\n". |
'<input type="hidden" name="probTitle" value="'.$ENV{'form.probTitle'}.'" />'."\n". |
'<input type="hidden" name="probTitle" value="'.$ENV{'form.probTitle'}.'" />'."\n". |
'<input type="hidden" name="refresh" value="off" />'."\n". |
'<input type="hidden" name="refresh" value="off" />'."\n". |
|
'<input type="hidden" name="studentNo" value="" />'."\n". |
|
'<input type="hidden" name="gradeOpt" value="" />'."\n". |
'<input type="hidden" name="symb" value="'.$symb.'" />'."\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="showgrading" value="'.$ENV{'form.showgrading'}.'" />'."\n". |
'<input type="hidden" name="showgrading" value="'.$ENV{'form.showgrading'}.'" />'."\n". |
Line 1279 KEYWORDS
|
Line 1294 KEYWORDS
|
$request->print('<br /><br /><br />') if ($counter > 0); |
$request->print('<br /><br /><br />') if ($counter > 0); |
$request->print(&show_problem($request,$symb,$uname,$udom,1,1)); |
$request->print(&show_problem($request,$symb,$uname,$udom,1,1)); |
} |
} |
|
|
my %record = &Apache::lonnet::restore($symb,$ENV{'request.course.id'},$udom,$uname); |
my %record = &Apache::lonnet::restore($symb,$ENV{'request.course.id'},$udom,$uname); |
my ($partlist,$handgrade) = &response_type($url); |
my ($partlist,$handgrade) = &response_type($url); |
|
|
Line 1426 KEYWORDS
|
Line 1440 KEYWORDS
|
$last,'.submission', |
$last,'.submission', |
'Apache::grades::keywords_highlight')); |
'Apache::grades::keywords_highlight')); |
} |
} |
|
|
|
$request->print('<input type="hidden" name="unamedom'.$counter.'" value="'.$uname.':' |
|
.$udom.'" />'."\n"); |
|
|
# return if view submission with no grading option |
# return if view submission with no grading option |
if ($ENV{'form.showgrading'} eq '' || (!&canmodify($usec))) { |
if ($ENV{'form.showgrading'} eq '' || (!&canmodify($usec))) { |
$request->print('</td></tr></table></td></tr></table></form>'."\n"); |
my $toGrade.='<input type="button" value="Grade Student" '. |
$request->print(&show_grading_menu_form($symb,$url)) |
'onClick="javascript:checksubmit(this.form,\'Grade Student\',\'' |
|
.$counter.'\');" TARGET=_self> '."\n" if (&canmodify($usec)); |
|
$toGrade.='</td></tr></table></td></tr></table></form>'."\n"; |
|
$toGrade.=&show_grading_menu_form($symb,$url) |
if (($ENV{'form.command'} eq 'submission') || |
if (($ENV{'form.command'} eq 'submission') || |
($ENV{'form.command'} eq 'processGroup' && $counter == $total)); |
($ENV{'form.command'} eq 'processGroup' && $counter == $total)); |
|
$request = print($toGrade); |
return; |
return; |
} |
} |
|
|
$result='<input type="hidden" name="newmsg'.$counter.'" value="" />'."\n". |
# essay grading message center |
'<input type="hidden" name="includemsg'.$counter.'" value="" />'."\n". |
|
'<input type="hidden" name="unamedom'.$counter.'" value="'.$uname.':' |
|
.$udom.'" />'."\n"; |
|
# essay grading options |
|
if ($ENV{'form.handgrade'} eq 'yes') { |
if ($ENV{'form.handgrade'} eq 'yes') { |
my ($lastname,$givenn) = split(/,/,$ENV{'form.fullname'}); |
my ($lastname,$givenn) = split(/,/,$ENV{'form.fullname'}); |
my $msgfor = $givenn.' '.$lastname; |
my $msgfor = $givenn.' '.$lastname; |
Line 1450 KEYWORDS
|
Line 1467 KEYWORDS
|
} |
} |
$msgfor =~ s/\'/\\'/g; #' stupid emacs - no! javascript |
$msgfor =~ s/\'/\\'/g; #' stupid emacs - no! javascript |
# $result.='<tr><td bgcolor="#ffffff">'."\n". |
# $result.='<tr><td bgcolor="#ffffff">'."\n". |
|
$result='<input type="hidden" name="includemsg'.$counter.'" value="" />'."\n". |
|
'<input type="hidden" name="newmsg'.$counter.'" value="" />'."\n"; |
$result.=' <a href="javascript:msgCenter(document.SCORE,'.$counter. |
$result.=' <a href="javascript:msgCenter(document.SCORE,'.$counter. |
',\''.$msgfor.'\')"; TARGET=_self>'. |
',\''.$msgfor.'\')"; TARGET=_self>'. |
'Compose Message to student'.(scalar(@col_fullnames) >= 1 ? 's' : '').'</a> '. |
'Compose Message to student'.(scalar(@col_fullnames) >= 1 ? 's' : '').'</a> '. |
Line 1457 KEYWORDS
|
Line 1476 KEYWORDS
|
'/mailbkgrd.gif" width="14" height="10" name="mailicon'.$counter.'" />'."\n". |
'/mailbkgrd.gif" width="14" height="10" name="mailicon'.$counter.'" />'."\n". |
'<br /> (Message will be sent when you click on Save & Next below.)'."\n" |
'<br /> (Message will be sent when you click on Save & Next below.)'."\n" |
if ($ENV{'form.handgrade'} eq 'yes'); |
if ($ENV{'form.handgrade'} eq 'yes'); |
|
$request->print($result); |
} |
} |
$request->print($result); |
|
|
|
my %seen = (); |
my %seen = (); |
my @partlist; |
my @partlist; |
Line 1483 KEYWORDS
|
Line 1502 KEYWORDS
|
|
|
# print end of form |
# print end of form |
if ($counter == $total) { |
if ($counter == $total) { |
my $endform='<table border="0"><tr><td>'. |
my $endform='<table border="0"><tr><td>'."\n"; |
'<input type="hidden" name="gradeOpt" value="" />'."\n"; |
|
$endform.='<input type="button" value="Save & Next" '. |
$endform.='<input type="button" value="Save & Next" '. |
'onClick="javascript:checksubmit(this.form,\'Save & Next\','. |
'onClick="javascript:checksubmit(this.form,\'Save & Next\','. |
$total.','.scalar(@partlist).');" TARGET=_self> '."\n"; |
$total.','.scalar(@partlist).');" TARGET=_self> '."\n"; |
Line 1554 sub processHandGrade {
|
Line 1572 sub processHandGrade {
|
my $button = $ENV{'form.gradeOpt'}; |
my $button = $ENV{'form.gradeOpt'}; |
my $ngrade = $ENV{'form.NCT'}; |
my $ngrade = $ENV{'form.NCT'}; |
my $ntstu = $ENV{'form.NTSTU'}; |
my $ntstu = $ENV{'form.NTSTU'}; |
|
|
if ($button eq 'Save & Next') { |
if ($button eq 'Save & Next') { |
my $ctr = 0; |
my $ctr = 0; |
while ($ctr < $ngrade) { |
while ($ctr < $ngrade) { |
Line 1648 sub processHandGrade {
|
Line 1665 sub processHandGrade {
|
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
} |
} |
# Called by Save & Refresh from Highlight Attribute Window |
# Called by Save & Refresh from Highlight Attribute Window |
# my (undef,undef,$fullname) = &getclasslist($ENV{'form.section'},'0'); |
|
my (undef,undef,$fullname) = &getclasslist($ENV{'form.section'},'1'); |
my (undef,undef,$fullname) = &getclasslist($ENV{'form.section'},'1'); |
if ($ENV{'form.refresh'} eq 'on') { |
if ($ENV{'form.refresh'} eq 'on') { |
my ($ctr,$total) = (0,0); |
my ($ctr,$total) = (0,0); |
Line 1668 sub processHandGrade {
|
Line 1684 sub processHandGrade {
|
return ''; |
return ''; |
} |
} |
|
|
|
# Go directly to grade student - from submission or link from chart page |
|
if ($button eq 'Grade Student') { |
|
(undef,undef,$ENV{'form.handgrade'},undef,undef) = &showResourceInfo($url); |
|
my $processUser = $ENV{'form.unamedom'.$ENV{'form.studentNo'}}; |
|
($ENV{'form.student'},$ENV{'form.userdom'}) = split(/:/,$processUser); |
|
$ENV{'form.fullname'} = $$fullname{$processUser}; |
|
&submission($request,0,0); |
|
return ''; |
|
} |
|
|
# Get the next/previous one or group of students |
# Get the next/previous one or group of students |
my $firststu = $ENV{'form.unamedom0'}; |
my $firststu = $ENV{'form.unamedom0'}; |
my $laststu = $ENV{'form.unamedom'.($ngrade-1)}; |
my $laststu = $ENV{'form.unamedom'.($ngrade-1)}; |
Line 2779 sub displayPage {
|
Line 2805 sub displayPage {
|
if($curRes == $iterator->BEGIN_MAP) { $depth++; } |
if($curRes == $iterator->BEGIN_MAP) { $depth++; } |
if($curRes == $iterator->END_MAP) { $depth--; } |
if($curRes == $iterator->END_MAP) { $depth--; } |
|
|
if (ref($curRes) && $curRes->is_problem() && !$curRes->randomout) { |
# if (ref($curRes) && $curRes->is_problem() && !$curRes->randomout) { |
|
if (ref($curRes) && $curRes->is_problem()) { |
my $parts = $curRes->parts(); |
my $parts = $curRes->parts(); |
my $title = $curRes->compTitle(); |
my $title = $curRes->compTitle(); |
my $symbx = $curRes->symb(); |
my $symbx = $curRes->symb(); |