--- loncom/interface/lonparmset.pm 2009/07/01 17:11:38 1.466 +++ loncom/interface/lonparmset.pm 2009/07/14 13:53:03 1.467 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.466 2009/07/01 17:11:38 bisitz Exp $ +# $Id: lonparmset.pm,v 1.467 2009/07/14 13:53:03 amueller Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1457,12 +1457,28 @@ sub keysindisplayorderCategory { } ( @{$name}); } +sub category_order { + return ( + 'time_settings' => 1, + 'grading' => 2, + 'tries' => 3, + 'problem_appearance' => 4, + 'hiding' => 5, + 'behaviour_of_input_fields' => 6, + 'high_level_randomization' => 7, + 'slots' => 8, + 'file_submission' => 9, + 'misc' => 10 + ); + +} sub parmboxes { my ($r,$allparms,$pscat,$keyorder)=@_; my $tempkey; my $tempparameter; my %categories = &categories; + my %category_order = &category_order(); my %categoryList = ( 'time_settings' => [], 'grading' => [], @@ -1475,7 +1491,6 @@ sub parmboxes { 'file_submission' => [], 'misc' => [], ); - foreach $tempparameter (keys %$allparms) { &whatIsMyCategory($tempparameter, \%categoryList); } @@ -1485,16 +1500,15 @@ sub parmboxes { ); #Print parameters - my ($category, $list) = undef; - while (($category, $list) = each %categoryList) { - if(@$list == 0) { + for my $key (sort { $category_order{$a} <=> $category_order{$b} } keys %categoryList) { + if(@{$categoryList{$key}} == 0) { next; } else { $r->print('
' .'' - .&mt($categories{$category}) + .&mt($categories{$key}) .''."\n"); - foreach $tempkey (&keysindisplayorderCategory($list,$keyorder)) { + foreach $tempkey (&keysindisplayorderCategory($categoryList{$key},$keyorder)) { $r->print('' .'