--- loncom/interface/lonquickgrades.pm 2010/12/03 21:33:52 1.55 +++ 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.55 2010/12/03 21:33:52 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,38 @@ sub startGradeScreen { my $allowed_to_edit = &Apache::lonnet::allowed('mgr',$env{'request.course.id'}); if ($allowed_to_view) { - $r->print(''); - if ($notshowTotals) { $r->print (''); } - if ($notshowSPRSlink){ $r->print (''); } - if ($showPoints) { $r->print (''); } - if ($showCategories) { $r->print (''); } - $r->print('
'.&mt('Students do not see total points.').''.&mt('Students do not see link to spreadsheet.').''.&mt('Students will see points based on problem weights.').''.&mt('Students will see points based on categories.').''.&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"); $r->print('
'); } @@ -392,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