--- loncom/interface/lonquickgrades.pm 2010/12/03 22:23:21 1.57 +++ loncom/interface/lonquickgrades.pm 2011/01/21 16:28:32 1.64 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Quick Student Grades Display # -# $Id: lonquickgrades.pm,v 1.57 2010/12/03 22:23:21 www Exp $ +# $Id: lonquickgrades.pm,v 1.64 2011/01/21 16:28:32 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -121,24 +121,37 @@ sub startGradeScreen { my $allowed_to_edit = &Apache::lonnet::allowed('mgr',$env{'request.course.id'}); if ($allowed_to_view) { - $r->print('
'); - if ($notshowTotals) { $r->print (' '.&mt('Students do not see total points.').' '); } - if ($notshowSPRSlink){ $r->print (' '.&mt('Students do not see link to spreadsheet.').' '); } - if ($showPoints) { $r->print (' '.&mt('Students will see points based on problem weights.').' '); } - if ($showCategories) { $r->print (' '.&mt('Students will see points based on categories.').' '); } - $r->print(' '.&Apache::lonhtmlcommon::coursepreflink(&mt('Grade display settings'),'grading').'
'); + my @notes; + push(@notes,&mt('Students do not see total points.')) if ($notshowTotals); + push(@notes,&mt('Students do not see link to spreadsheet.')) if ($notshowSPRSlink); + push(@notes,&mt('Students will see points based on problem weights.')) if ($showPoints); + push(@notes,&mt('Students will see points based on categories.')) if ($showCategories); + push(@notes, &Apache::lonhtmlcommon::coursepreflink(&mt('Grade display settings'),'grading')); + $r->print(&Apache::loncommon::head_subbox(join('  ',@notes))); } $r->print("\n".''."\n"); $r->print('
'); } @@ -393,6 +406,33 @@ sub outputCategories { my ($r,$showPoints,$notshowTotals, $navmap,$totalParts,$totalPossible,$totalRight,$totalAttempted,$topLevelParts,$topLevelRight,$topLevelAttempted)=@_; +# Take care of storing and retrieving categories + + my $cangrade=&Apache::lonnet::allowed('mgr'); + + my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + my %categories=(); +# Storing + if (($cangrade) && ($env{'form.storechanges'})) { + +# Actually store + &Apache::lonnet::put('grading_categories',\%categories,$cdom,$cnum); + } else { +# Loading + %categories=&Apache::lonnet::dump('grading_categories',$cdom,$cnum); + } +# categories loaded now +# Form only generated if user can change the grading categories + if ($cangrade) { + $r->print('
'); + } +# +# Business logic here +# + if ($cangrade) { + $r->print('
'); + } } # Pass this two refs to arrays for the start and end color, and a number