--- loncom/interface/lonquickgrades.pm 2011/02/20 20:57:46 1.67 +++ loncom/interface/lonquickgrades.pm 2011/02/20 21:56:25 1.68 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Quick Student Grades Display # -# $Id: lonquickgrades.pm,v 1.67 2011/02/20 20:57:46 www Exp $ +# $Id: lonquickgrades.pm,v 1.68 2011/02/20 21:56:25 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -374,7 +374,7 @@ sub outputTable { # If there were any problems at the top level, print an extra "catchall" if ($topLevelParts > 0) { my $ratio = $topLevelRight / $topLevelParts; - my $color = mixColors(\@start, \@end, $ratio); + my $color = &mixColors(\@start, \@end, $ratio); $r->print(&Apache::loncommon::start_data_table_row() .''); $r->print(&mt("Problems Not Contained In A Folder").""); @@ -386,7 +386,7 @@ sub outputTable { # show totals (if applicable), close table # if ($showPoints) { - my $maxHelpLink = Apache::loncommon::help_open_topic("Quick_Grades_Possibly_Correct"); + my $maxHelpLink = &Apache::loncommon::help_open_topic("Quick_Grades_Possibly_Correct"); $title = $showPoints ? "Points" : "Parts Done"; my $totaltitle = $showPoints ? &mt("Awarded Total Points") : &mt("Total Parts Done"); @@ -429,7 +429,7 @@ sub outputCategories { # Process the changes %categories=&process_category_edits($r,$cangrade,%categories); # Actually store -# &Apache::lonnet::logthis("Storing ".$categories{'order'}); + &Apache::lonnet::logthis("Storing ".$categories{'order'}); &Apache::lonnet::put('grading_categories',\%categories,$cdom,$cnum); } # new categories loaded now @@ -456,6 +456,10 @@ sub process_category_edits { my $cmd=$env{'form.cmd'}; if ($cmd eq 'createnewcat') { %categories=&make_new_category($r,$cangrade,undef,%categories); + } + if ($cmd=~/^delcat\_(.+)$/) { + my $id=$1; + %categories=&del_category($id,$cangrade,%categories); } # # Business logic here @@ -543,6 +547,7 @@ ENDMOVE } } $r->print("\n\n\n"); + $r->print(''.&mt('Delete').''); } $r->print(&Apache::loncommon::end_data_table_row()."\n"); @@ -585,6 +590,22 @@ sub make_new_category { } # +# Delete category +# + +sub del_category { + my ($id,$cangrade,%categories)=@_; + my @neworder=(); + foreach my $currentid (split(/\,/,$categories{'order'})) { + unless ($currentid eq $id) { + push(@neworder,$currentid); + } + } + $categories{'order'}=join(',',@neworder); + return %categories; +} + +# # Move a category to a desired position n the display order #