');
+ $stdid='';
+ }
+ $r->print('\n"); }
&endGradeScreen($r);
return OK;
@@ -430,19 +456,13 @@ sub outputCategories {
&Apache::lonnet::put('grading_categories',\%categories,$cdom,$cnum);
}
# new categories loaded now
-# Form only generated if user can change the grading categories
- if ($cangrade) {
- $r->print('');
+ '');
}
}
@@ -455,10 +475,12 @@ sub process_category_edits {
unless ($cangrade) { return %categories; }
# First store everything
foreach my $id (split(/\,/,$categories{'order'})) {
+# Set names, types, and weight (there is only one of each per category)
%categories=&set_category_name($cangrade,$id,$env{'form.name_'.$id},%categories);
%categories=&set_category_total($cangrade,$id,$env{'form.totaltype_'.$id},$env{'form.total_'.$id},%categories);
%categories=&set_category_weight($cangrade,$id,$env{'form.weight_'.$id},%categories);
-# More changes here
+# Set values for category rules (before names may change)
+ %categories=&set_category_rules($cangrade,$id,%categories);
}
# Now deal with commands
@@ -471,6 +493,19 @@ sub process_category_edits {
%categories=&move_down_category($1,$cangrade,%categories);
} elsif ($cmd=~/^delcat\_(.+)$/) {
%categories=&del_category($1,$cangrade,%categories);
+ } elsif ($cmd=~/^addcont\_(.+)$/) {
+ %categories=&add_category_content($1,$cangrade,$env{'form.addcont_'.$1.'_symb'},%categories);
+ } elsif ($cmd=~/^delcont\_(.+)\_\_\_\_\_\_(.+)$/) {
+ %categories=&del_category_content($1,$cangrade,$2,%categories);
+ } elsif ($cmd=~/^newrule\_(.+)$/) {
+ %categories=&add_calculation_rule($1,$cangrade,':',%categories);
+ } elsif ($cmd=~/^delrule\_(.+)\_\_\_\_\_\_(.*)$/) {
+ %categories=&del_calculation_rule($1,$cangrade,$2,%categories);
+ }
+# Move to a new position
+ my $moveid=$env{'form.storemove'};
+ if ($moveid) {
+ %categories=&move_category($moveid,$cangrade,$env{'form.newpos_'.$moveid},%categories);
}
return %categories;
}
@@ -562,19 +597,39 @@ ENDMOVE
$r->print('
'.$categories{$id.'_name'}.'
');
}
# Content
-# FIXME: just placeholders
+ $r->print('
');
+ foreach my $contentid (split(/\,/,$categories{$id.'_content'})) {
+ $r->print('