--- loncom/homework/grades.pm 2003/07/11 12:54:07 1.110 +++ loncom/homework/grades.pm 2003/07/14 14:43:39 1.114 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Grading handler # -# $Id: grades.pm,v 1.110 2003/07/11 12:54:07 ng Exp $ +# $Id: grades.pm,v 1.114 2003/07/14 14:43:39 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -41,6 +41,7 @@ use Apache::style; use Apache::lonxml; use Apache::lonnet; use Apache::loncommon; +use Apache::lonhtmlcommon; use Apache::lonnavmaps; use Apache::lonhomework; use Apache::loncoursedata; @@ -129,8 +130,8 @@ sub getclasslist { my (undef,undef,$end,$start,$id,$section,$fullname,$status)= @{$classlist->{$_}}; # filter students according to status selected - if ($filterlist && $ENV{'form.status'} ne 'Any') { - if ($ENV{'form.status'} ne $status) { + if ($filterlist && $ENV{'form.Status'} ne 'Any') { + if ($ENV{'form.Status'} ne $status) { delete ($classlist->{$_}); next; } @@ -391,7 +392,7 @@ sub listStudents { } function reLoadList(formname) { - if (formname.saveStatusOld.value == pullDownSelection(formname.status)) {return;} + if (formname.saveStatusOld.value == pullDownSelection(formname.Status)) {return;} formname.command.value = 'submission'; formname.submit(); } @@ -425,8 +426,8 @@ LISTJAVASCRIPT $gradeTable.=' handgrade only'."\n"; } - my $saveStatus = $ENV{'form.status'} eq '' ? 'Active' : $ENV{'form.status'}; - $ENV{'form.status'} = $saveStatus; + my $saveStatus = $ENV{'form.Status'} eq '' ? 'Active' : $ENV{'form.Status'}; + $ENV{'form.Status'} = $saveStatus; $gradeTable.=' last sub only'."\n". ' last sub & parts info'."\n". @@ -442,12 +443,9 @@ LISTJAVASCRIPT ''."\n". ''."\n"; - $gradeTable.='Student Status:
'."\n"; - + $gradeTable.='Student Status: '. + &Apache::lonhtmlcommon::StatusOptions($saveStatus,undef,1,'javascript:reLoadList(this.form);').'
'; + $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". ' on the check boxes for the group of students.
'."\n". @@ -1373,7 +1371,7 @@ KEYWORDS my $lastone = pop @col_fullnames; $msgfor .= ', '.(join ', ',@col_fullnames).' and '.$lastone.'.'; } - $msgfor =~ s/\'/\\'/g; #' stupid emacs + $msgfor =~ s/\'/\\'/g; #' stupid emacs - no! javascript $result.=''."\n". ' '. @@ -1959,9 +1957,9 @@ sub viewgrades { $result.=''.''.''."\n". ''; $result.='    '; - $result.=''."\n"; + 'onClick="javascript:resetEntry('.$ctsparts.');" TARGET=_self>'; +# $result.='    '."\n"; #table listing all the students in a section/class #header of table @@ -1975,7 +1973,7 @@ sub viewgrades { } $result.= '
'."\n". ''. - ''."\n"; + ''."\n"; my (@parts) = sort(&getpartlist($url)); foreach my $part (@parts) { my $display=&Apache::lonnet::metadata($url,$part.'.display'); @@ -2009,7 +2007,7 @@ sub viewgrades { 'onClick="javascript:submit();" TARGET=_self />'."\n"; if (scalar(%$fullname) eq 0) { my $colspan=3+scalar(@parts); - $result='There are no students in section "'.$ENV{'form.section'}.'" with enrollment status "'.$ENV{'form.status'}.'" to modify or grade.'; + $result='There are no students in section "'.$ENV{'form.section'}.'" with enrollment status "'.$ENV{'form.Status'}.'" to modify or grade.'; } $result.=&show_grading_menu_form($symb,$url); return $result; @@ -2023,8 +2021,8 @@ sub viewstudentgrade { my %record=&Apache::lonnet::restore($symb,$courseid,$udom,$uname); my $result=''."\n"; + '\')"; TARGET=_self>'.$fullname.' '. + '('.$uname.($ENV{'user.domain'} eq $udom ? '' : ':'.$udom).')'."\n"; foreach my $apart (@$parts) { my ($part,$type) = &split_part_type($apart); my $score=$record{"resource.$part.$type"}; @@ -2618,7 +2616,7 @@ LISTJAVASCRIPT ' all details'."\n"; $result.=''."\n". - ''."\n". + ''."\n". ''."\n". ''."\n". ''."\n". @@ -2665,21 +2663,21 @@ sub getSymbMap { my $navmap = Apache::lonnavmaps::navmap-> new($ENV{'request.course.fn'}.'.db', $ENV{'request.course.fn'}.'_parms.db',1, 1); - my $res = $navmap->firstResource(); # temp resource to access constants + #my $res = $navmap->firstResource(); # temp resource to access constants $navmap->init(); # 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; - $iterator->next(); # ignore first BEGIN_MAP my $curRes = $iterator->next(); my %symbx = (); my @titles = (); my $minder=0; - while ($depth > 0) { - if ($curRes == $iterator->BEGIN_MAP()) {$depth++;} + my $seenBeginMap = 0; + while ($depth > 0 || !$seenBeginMap) { + if ($curRes == $iterator->BEGIN_MAP()) {$depth++; $seenBeginMap = 1; } if ($curRes == $iterator->END_MAP()) { $depth--; } if (ref($curRes) && $curRes->is_map()) { @@ -3341,7 +3339,7 @@ sub gradingmenu { function checkChoice(formname) { var cmd = formname.command; 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[5].checked) { if (!checkReceiptNo(formname,'notOK')) { return false;} @@ -3479,12 +3477,7 @@ GRADINGMENUJS } $result.= '
FullnameUsernameDomainFullname (Username)
'. ''.$fullname.''. - ''.$uname.''.$udom.'