version 1.111, 2003/07/11 14:45:59
|
version 1.115, 2003/07/14 16:11:19
|
Line 41 use Apache::style;
|
Line 41 use Apache::style;
|
use Apache::lonxml; |
use Apache::lonxml; |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::loncommon; |
use Apache::loncommon; |
|
use Apache::lonhtmlcommon; |
use Apache::lonnavmaps; |
use Apache::lonnavmaps; |
use Apache::lonhomework; |
use Apache::lonhomework; |
use Apache::loncoursedata; |
use Apache::loncoursedata; |
Line 129 sub getclasslist {
|
Line 130 sub getclasslist {
|
my (undef,undef,$end,$start,$id,$section,$fullname,$status)= |
my (undef,undef,$end,$start,$id,$section,$fullname,$status)= |
@{$classlist->{$_}}; |
@{$classlist->{$_}}; |
# filter students according to status selected |
# filter students according to status selected |
if ($filterlist && $ENV{'form.status'} ne 'Any') { |
if ($filterlist && $ENV{'form.Status'} ne 'Any') { |
if ($ENV{'form.status'} ne $status) { |
if ($ENV{'form.Status'} ne $status) { |
delete ($classlist->{$_}); |
delete ($classlist->{$_}); |
next; |
next; |
} |
} |
Line 391 sub listStudents {
|
Line 392 sub listStudents {
|
} |
} |
|
|
function reLoadList(formname) { |
function reLoadList(formname) { |
if (formname.saveStatusOld.value == pullDownSelection(formname.status)) {return;} |
if (formname.saveStatusOld.value == pullDownSelection(formname.Status)) {return;} |
formname.command.value = 'submission'; |
formname.command.value = 'submission'; |
formname.submit(); |
formname.submit(); |
} |
} |
Line 425 LISTJAVASCRIPT
|
Line 426 LISTJAVASCRIPT
|
$gradeTable.='<input type="radio" name="lastSub" value="hdgrade" '.$checkhdgrade.' /> handgrade only'."\n"; |
$gradeTable.='<input type="radio" name="lastSub" value="hdgrade" '.$checkhdgrade.' /> handgrade only'."\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 sub only'."\n". |
$gradeTable.='<input type="radio" name="lastSub" value="lastonly" '.$checklastsub.' /> last sub only'."\n". |
'<input type="radio" name="lastSub" value="last" /> last sub & parts info'."\n". |
'<input type="radio" name="lastSub" value="last" /> last sub & parts info'."\n". |
Line 442 LISTJAVASCRIPT
|
Line 443 LISTJAVASCRIPT
|
'<input type="hidden" name="symb" value="'.$symb.'" />'."\n". |
'<input type="hidden" name="symb" value="'.$symb.'" />'."\n". |
'<input type="hidden" name="saveStatusOld" value="'.$saveStatus.'" />'."\n"; |
'<input type="hidden" name="saveStatusOld" value="'.$saveStatus.'" />'."\n"; |
|
|
$gradeTable.='<b>Student Status:</b> <select onchange="javascript:reLoadList(this.form);" name="status">'. |
$gradeTable.='<b>Student Status:</b> '. |
'<option value="Active" '.($saveStatus eq 'Active' ? 'selected' : '').'>Active</option>'. |
&Apache::lonhtmlcommon::StatusOptions($saveStatus,undef,1,'javascript:reLoadList(this.form);').'<br />'; |
'<option value="Expired" '.($saveStatus eq 'Expired' ? 'selected' : '').'>Expired</option>'. |
|
'<option value="Any" '.($saveStatus eq 'Any' ? 'selected' : '').'>Any</option>'. |
|
'</select><br />'."\n"; |
|
|
|
$gradeTable.='To '.lc($viewgrade).' a submission, click on the check box next to the student\'s name. Then '."\n". |
$gradeTable.='To '.lc($viewgrade).' a submission, click on the check box next to the student\'s name. Then '."\n". |
'click on the '.$viewgrade.' button. To view the submissions for a group of students, click'."\n". |
'click on the '.$viewgrade.' button. To view the submissions for a group of students, click'."\n". |
' on the check boxes for the group of students.<br />'."\n". |
' on the check boxes for the group of students.<br />'."\n". |
Line 1975 sub viewgrades {
|
Line 1973 sub viewgrades {
|
} |
} |
$result.= '<table border=0><tr><td bgcolor="#777777">'."\n". |
$result.= '<table border=0><tr><td bgcolor="#777777">'."\n". |
'<table border=0><tr bgcolor="#deffff">'. |
'<table border=0><tr bgcolor="#deffff">'. |
'<td><b>Fullname</b></td><td><b>Username</b></td><td><b>Domain</b></td>'."\n"; |
'<td><b>Fullname</b> <font color="#999999">(Username)</font></td>'."\n"; |
my (@parts) = sort(&getpartlist($url)); |
my (@parts) = sort(&getpartlist($url)); |
foreach my $part (@parts) { |
foreach my $part (@parts) { |
my $display=&Apache::lonnet::metadata($url,$part.'.display'); |
my $display=&Apache::lonnet::metadata($url,$part.'.display'); |
Line 2009 sub viewgrades {
|
Line 2007 sub viewgrades {
|
'onClick="javascript:submit();" TARGET=_self /></form>'."\n"; |
'onClick="javascript:submit();" TARGET=_self /></form>'."\n"; |
if (scalar(%$fullname) eq 0) { |
if (scalar(%$fullname) eq 0) { |
my $colspan=3+scalar(@parts); |
my $colspan=3+scalar(@parts); |
$result='<font color="red">There are no students in section "'.$ENV{'form.section'}.'" with enrollment status "'.$ENV{'form.status'}.'" to modify or grade.</font>'; |
$result='<font color="red">There are no students in section "'.$ENV{'form.section'}.'" with enrollment status "'.$ENV{'form.Status'}.'" to modify or grade.</font>'; |
} |
} |
$result.=&show_grading_menu_form($symb,$url); |
$result.=&show_grading_menu_form($symb,$url); |
return $result; |
return $result; |
Line 2023 sub viewstudentgrade {
|
Line 2021 sub viewstudentgrade {
|
my %record=&Apache::lonnet::restore($symb,$courseid,$udom,$uname); |
my %record=&Apache::lonnet::restore($symb,$courseid,$udom,$uname); |
my $result='<tr bgcolor="#ffffdd"><td>'. |
my $result='<tr bgcolor="#ffffdd"><td>'. |
'<a href="javascript:viewOneStudent(\''.$uname.'\',\''.$udom. |
'<a href="javascript:viewOneStudent(\''.$uname.'\',\''.$udom. |
'\')"; TARGET=_self>'.$fullname.'</a>'. |
'\')"; TARGET=_self>'.$fullname.'</a> '. |
'</td><td>'.$uname.'</td><td align="middle">'.$udom.'</td>'."\n"; |
'<font color="#999999">('.$uname.($ENV{'user.domain'} eq $udom ? '' : ':'.$udom).')</font></td>'."\n"; |
foreach my $apart (@$parts) { |
foreach my $apart (@$parts) { |
my ($part,$type) = &split_part_type($apart); |
my ($part,$type) = &split_part_type($apart); |
my $score=$record{"resource.$part.$type"}; |
my $score=$record{"resource.$part.$type"}; |
Line 2618 LISTJAVASCRIPT
|
Line 2616 LISTJAVASCRIPT
|
'<input type="radio" name="lastSub" value="all" /> all details'."\n"; |
'<input type="radio" name="lastSub" value="all" /> all details'."\n"; |
|
|
$result.='<input type="hidden" name="section" value="'.$getsec.'" />'."\n". |
$result.='<input type="hidden" name="section" value="'.$getsec.'" />'."\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="command" value="displayPage" />'."\n". |
'<input type="hidden" name="command" value="displayPage" />'."\n". |
'<input type="hidden" name="url" value="'.$url.'" />'."\n". |
'<input type="hidden" name="url" value="'.$url.'" />'."\n". |
'<input type="hidden" name="symb" value="'.$symb.'" />'."\n". |
'<input type="hidden" name="symb" value="'.$symb.'" />'."\n". |
Line 2664 sub getSymbMap {
|
Line 2662 sub getSymbMap {
|
my ($request) = @_; |
my ($request) = @_; |
my $navmap = Apache::lonnavmaps::navmap-> new($ENV{'request.course.fn'}.'.db', |
my $navmap = Apache::lonnavmaps::navmap-> new($ENV{'request.course.fn'}.'.db', |
$ENV{'request.course.fn'}.'_parms.db',1, 1); |
$ENV{'request.course.fn'}.'_parms.db',1, 1); |
|
|
my $res = $navmap->firstResource(); # temp resource to access constants |
|
$navmap->init(); |
$navmap->init(); |
|
|
# End navmap using boilerplate |
# End navmap using boilerplate |
|
|
my $iterator = $navmap->getIterator(undef, undef, undef, 1); |
my $iterator = Apache::lonnavmaps::iterator->new($navmap, undef, undef, undef, undef, 1, undef, 1); |
my $depth = 1; |
my $depth = 1; |
$iterator->next(); # ignore first BEGIN_MAP |
|
my $curRes = $iterator->next(); |
my $curRes = $iterator->next(); |
|
|
my %symbx = (); |
my %symbx = (); |
my @titles = (); |
my @titles = (); |
my $minder=0; |
my $minder=0; |
while ($depth > 0) { |
my $seenBeginMap = 0; |
if ($curRes == $iterator->BEGIN_MAP()) {$depth++;} |
while ($depth > 0 || !$seenBeginMap) { |
|
if ($curRes == $iterator->BEGIN_MAP()) {$depth++; $seenBeginMap = 1; } |
if ($curRes == $iterator->END_MAP()) { $depth--; } |
if ($curRes == $iterator->END_MAP()) { $depth--; } |
|
|
if (ref($curRes) && $curRes->is_map()) { |
if (ref($curRes) && $curRes->is_map()) { |
Line 2816 sub displayPage {
|
Line 2812 sub displayPage {
|
my @versionKeys = split(/\:/,$record{$version.':keys'}); |
my @versionKeys = split(/\:/,$record{$version.':keys'}); |
my @displaySub = (); |
my @displaySub = (); |
foreach my $partid (@{$parts}) { |
foreach my $partid (@{$parts}) { |
|
my $responseType = $curRes->responseType($partid); |
my @matchKey = grep /^resource\.$partid\..*?\.submission$/,@versionKeys; |
my @matchKey = grep /^resource\.$partid\..*?\.submission$/,@versionKeys; |
next if ($record{"$version:resource.$partid.solved"} eq ''); |
next if ($record{"$version:resource.$partid.solved"} eq ''); |
# next if ($record{"$version:resource.$partid.award"} eq 'APPROX_ANS' && |
# next if ($record{"$version:resource.$partid.award"} eq 'APPROX_ANS' && |
# $record{"$version:resource.$partid.solved"} eq ''); |
# $record{"$version:resource.$partid.solved"} eq ''); |
$displaySub[0].=(exists $record{$version.':'.$matchKey[0]}) ? |
$displaySub[0].=(exists $record{$version.':'.$matchKey[0]}) ? |
'<b>Part '.$partid.' '. |
'<b>Part '.$partid.' Type:'.$responseType.':endtype'. |
($record{"$version:resource.$partid.tries"} eq '' ? 'Trial not counted' : |
($record{"$version:resource.$partid.tries"} eq '' ? 'Trial not counted' : |
'Trial '.$record{"$version:resource.$partid.tries"}).'</b> '. |
'Trial '.$record{"$version:resource.$partid.tries"}).'</b> '. |
$record{$version.':'.$matchKey[0]}.'<br />' : ''; |
$record{$version.':'.$matchKey[0]}.'<br />' : ''; |
Line 3341 sub gradingmenu {
|
Line 3338 sub gradingmenu {
|
function checkChoice(formname) { |
function checkChoice(formname) { |
var cmd = formname.command; |
var cmd = formname.command; |
formname.saveState.value = "saveCmd="+radioSelection(cmd)+":saveSec="+pullDownSelection(formname.section)+ |
formname.saveState.value = "saveCmd="+radioSelection(cmd)+":saveSec="+pullDownSelection(formname.section)+ |
":saveSub="+radioSelection(formname.submitonly)+":saveStatus="+pullDownSelection(formname.status); |
":saveSub="+radioSelection(formname.submitonly)+":saveStatus="+pullDownSelection(formname.Status); |
if (cmd[0].checked || cmd[1].checked || cmd[2].checked || cmd[3].checked || cmd[4].checked) formname.submit(); |
if (cmd[0].checked || cmd[1].checked || cmd[2].checked || cmd[3].checked || cmd[4].checked) formname.submit(); |
if (cmd[5].checked) { |
if (cmd[5].checked) { |
if (!checkReceiptNo(formname,'notOK')) { return false;} |
if (!checkReceiptNo(formname,'notOK')) { return false;} |
Line 3479 GRADINGMENUJS
|
Line 3476 GRADINGMENUJS
|
} |
} |
$result.= '<option value="all" '.($saveSec eq 'all' ? 'selected="on"' : ''). '>all</select> '; |
$result.= '<option value="all" '.($saveSec eq 'all' ? 'selected="on"' : ''). '>all</select> '; |
|
|
$result.='Student Status:</b><select name="status">'. |
$result.='Student Status:</b>'.&Apache::lonhtmlcommon::StatusOptions($saveStatus,undef,1,undef); |
'<option value="Active" '.($saveStatus eq 'Active' ? 'selected' : '').'>Active</option>'. |
|
'<option value="Expired" '.($saveStatus eq 'Expired' ? 'selected' : '').'>Expired</option>'. |
|
'<option value="Any" '.($saveStatus eq 'Any' ? 'selected' : '').'>Any</option>'. |
|
'</select>'; |
|
|
|
$result.=' <font color="red">(Applies to the first three options only.)</font>'."\n"; |
$result.=' <font color="red">(Applies to the first three options only.)</font>'."\n"; |
|
|
if (ref($sections)) { |
if (ref($sections)) { |