--- loncom/interface/lonquickgrades.pm 2011/02/20 21:56:25 1.68 +++ loncom/interface/lonquickgrades.pm 2011/02/20 23:38:00 1.70 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Quick Student Grades Display # -# $Id: lonquickgrades.pm,v 1.68 2011/02/20 21:56:25 www Exp $ +# $Id: lonquickgrades.pm,v 1.70 2011/02/20 23:38:00 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -455,15 +455,17 @@ sub process_category_edits { unless ($cangrade) { return %categories; } my $cmd=$env{'form.cmd'}; if ($cmd eq 'createnewcat') { - %categories=&make_new_category($r,$cangrade,undef,%categories); + %categories=&make_new_category($r,$cangrade,undef,%categories); + } elsif ($cmd=~/^delcat\_(.+)$/) { + %categories=&del_category($1,$cangrade,%categories); + } else { +# Simply store the rest of the stuff + foreach my $id (split(/\,/,$categories{'order'})) { + %categories=&set_category_name($cangrade,$id,$env{'form.name_'.$id},%categories); + %categories=&set_category_weight($cangrade,$id,$env{'form.weighttype_'.$id},$env{'form.weight_'.$id},%categories); +# More changes here + } } - if ($cmd=~/^delcat\_(.+)$/) { - my $id=$1; - %categories=&del_category($id,$cangrade,%categories); - } -# -# Business logic here -# return %categories; } @@ -548,9 +550,38 @@ ENDMOVE } $r->print("\n\n\n"); $r->print(''.&mt('Delete').''); - + $r->print(''); + } else { + $r->print(''.$categories{$id.'_name'}.''); + } +# Content +# FIXME: just placeholders + if ($cangrade) { + $r->print("Content Edit"); + } else { + $r->print("Content"); } - $r->print(&Apache::loncommon::end_data_table_row()."\n"); +# Calculation +# FIXME: just placeholders + if ($cangrade) { + $r->print("Calculation Edit"); + } else { + $r->print("Calculation"); + } +# Weight + if ($cangrade) { + $r->print(''. + ''. + ''); + } else { + $r->print(''.($categories{$id.'_weighttype'} eq 'default'?&mt('default'):$categories{$id.'_weight'}).''); + } + return ($value,$weight); } @@ -586,6 +617,7 @@ sub make_new_category { if (defined($ordernum)) { %categories=&move_category($id,$cangrade,$ordernum,%categories); } + $categories{$id.'_weighttype'}='default'; return %categories; } @@ -657,13 +689,34 @@ sub current_pos_category { # Set name of a category # sub set_category_name { - my ($canedit,$id,$name,%categories)=@_; - unless ($canedit) { return %categories; } + my ($cangrade,$id,$name,%categories)=@_; + unless ($cangrade) { return %categories; } $categories{$id.'_name'}=$name; return %categories; } # +# Set weight of a category +# +sub set_category_weight { + my ($cangrade,$id,$weighttype,$weight,%categories)=@_; + unless ($cangrade) { return %categories; } + if (($categories{$id.'_weight'} eq '') && ($weight=~/\d/)) { + $weighttype='typein'; + } + $categories{$id.'_weighttype'}=$weighttype; + if ($weighttype eq 'default') { + $categories{$id.'_weight'}=''; + } else { + $weight=~s/\D//gs; + unless ($weight) { $weight=0; } + $categories{$id.'_weight'}=$weight; + } + return %categories; +} + + +# # === end category-related # #