--- loncom/interface/lonquickgrades.pm 2011/05/24 18:06:10 1.90 +++ loncom/interface/lonquickgrades.pm 2011/05/25 01:12:01 1.92 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Quick Student Grades Display # -# $Id: lonquickgrades.pm,v 1.90 2011/05/24 18:06:10 www Exp $ +# $Id: lonquickgrades.pm,v 1.92 2011/05/25 01:12:01 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -646,11 +646,13 @@ ENDMOVE # Content display and summing up of points my $totalpossible=0; my $totalcorrect=0; + my @individual=(); if ($output) { $r->print('
'.&mt('Total raw points: [_1]/[_2]',$totalcorrect,$totalpossible).'
'); if ($cangrade) { $r->print(''.&mt('Total raw points: [_1]/[_2]',$totalcorrect,$totalpossible).'
'); $r->print(''.&mt('Calculated points: [_1]/[_2]',$totalcorrect,$totalpossible).'
'); + $r->print(''); } - if ($output) { $r->print(''); } # Weight if ($cangrade) { @@ -747,6 +771,28 @@ ENDMOVE } # +# Drop folders and problems +# + +sub drop { + my ($high,$percent,@individual)=@_; + my @newindividual=sort { + my ($pa,$ca)=split(/\:/,$a); + my ($pb,$cb)=split(/\:/,$b); + if ($percent) { + my $perca=0; + if ($pa>0) { $perca=$ca/$pa; } + my $percb=0; + if ($pb>0) { $percb=$cb/$pb; } + $perca<=>$percb; + } else { + $ca<=>$cb; + } + } @individual; + my $newcorrect=0; + return ($newcorrect,@newindividual); +} +# # Bottom line with grades # @@ -789,8 +835,10 @@ sub make_new_category { sub category_rule_codes { return &Apache::lonlocal::texthash( - 'droplow' => 'Drop N lowest grade assignments', - 'drophigh' => 'Drop N highest grade assignments', + 'droplowperc' => 'Drop N lowest grade percentage problems/folders', + 'drophighperc' => 'Drop N highest grade percentage problems/folderss', + 'droplow' => 'Drop N lowest point problems/folders', + 'drophigh' => 'Drop N highest point problems/folders', 'capabove' => 'Cap percentage above N percent', 'capbelow' => 'Cap percentage below N percent'); }