--- loncom/interface/lonparmset.pm 2005/09/02 22:14:35 1.247 +++ loncom/interface/lonparmset.pm 2005/09/23 20:16:50 1.251 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.247 2005/09/02 22:14:35 albertel Exp $ +# $Id: lonparmset.pm,v 1.251 2005/09/23 20:16:50 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1921,6 +1921,9 @@ sub crsenv { 'disablesigfigs' => ''.&mt('Disable checking of Significant Figures').'
'. ' ('.&mt('"[_1]" to disable, anything else if not','yes').')', + 'disableexampointprint' + => ''.&mt('Disable automatically printing point values onto exams.').'
'. + ' ('.&mt('"[_1]" to disable, anything else if not','yes').')', 'tthoptions' => ''.&mt('Default set of options to pass to tth/m when converting tex').'' ); @@ -1947,7 +1950,8 @@ sub crsenv { 'default_enrollment_start_date', 'default_enrollment_end_date', 'tthoptions', - 'disablesigfigs' + 'disablesigfigs', + 'disableexampointprint' ); foreach my $parameter (sort(keys(%values))) { unless (($parameter =~ m/^internal\./)||($parameter =~ m/^metadata\./)) { @@ -2189,6 +2193,7 @@ sub listdata { my $pointer=0; $tableopen=0; my $foundkeys=0; + my %keyorder=&standardkeyorder(); foreach my $thiskey (sort { if ($sortorder eq 'realmstudent') { my ($astudent,$arealm)=($a=~/^\Q$env{'request.course.id'}\E\.\[([^\.]+)\]\.(.+)\.[^\.]+$/); @@ -2199,7 +2204,25 @@ sub listdata { if (!defined($bstudent)) { ($brealm)=($b=~/^\Q$env{'request.course.id'}\E\.(.+)$/); } - ($arealm cmp $brealm) || ($astudent cmp $bstudent); + $arealm=~s/\.type//; + my ($ares, $aparm) = ($arealm=~/^(.*)\.(.*)$/); + $aparm=$keyorder{'parameter_0_'.$aparm}; + $brealm=~s/\.type//; + my ($bres, $bparm) = ($brealm=~/^(.*)\.(.*)$/); + $bparm=$keyorder{'parameter_0_'.$bparm}; + if ($ares eq $bres) { + if (defined($aparm) && defined($bparm)) { + ($aparm <=> $bparm); + } elsif (defined($aparm)) { + -1; + } elsif (defined($bparm)) { + 1; + } else { + ($arealm cmp $brealm) || ($astudent cmp $bstudent); + } + } else { + ($arealm cmp $brealm) || ($astudent cmp $bstudent); + } } else { $a cmp $b; } @@ -2733,11 +2756,6 @@ sub setinstmeta { my $output; my $item_num; my $put_result; - if ($env{'form.serial'}) { - $next_meta = $env{'form.serial'}; - } else { - $next_meta = 1; - } $r->print(&Apache::lonxml::xmlbegin()); $r->print(' LON-CAPA Set Instructor Metadata @@ -2751,54 +2769,39 @@ sub setinstmeta { foreach my $field (%env) { # start by looking for populated fields if ($field=~m/type(\d+)/) { - my $item_num = $1; - my $name = 'metadata.'.$item_num.'.type'; - my $value = $env{'form.type'.$item_num}; + my $name; + my $value; $put_result = &Apache::lonnet::put('environment', {$name=>$value},$dom,$crs); - $name = 'metadata.'.$item_num.'.values'; - $value = $env{'form.values'.$item_num}; $put_result = &Apache::lonnet::put('environment', {$name=>$value},$dom,$crs); } if ($field=~m/newfield/) { - my $item_num = $env{'form.serial'}; - my $name = 'metadata.'.$item_num.'.type'; - my $value = $env{'form.typenew'}; - $put_result = &Apache::lonnet::put('environment', - {$name=>$value},$dom,$crs); - $name = 'metadata.'.$item_num.'.values'; - $value = $env{'form.valuesnew'}; + my $name = 'metadata.'.$env{'form.titlenew'}; + my %meta_hash = {values=>[$env{'form.valuesnew'}], + allow_pick=>'many', + allow_type=>'no'}; + + my $value = \%meta_hash; $put_result = &Apache::lonnet::put('environment', {$name=>$value},$dom,$crs); - $name = 'metadata.'.$item_num.'.title'; - $value = $env{'form.titlenew'}; - $put_result = &Apache::lonnet::put('environment', - {$name=>$value},$dom,$crs); - } - - } &Apache::lonnet::coursedescription($env{'request.course.id'}); foreach my $key (sort keys %env) { - if ($key=~m/^course\.$env{'request.course.id'}\.metadata\.\d+\.title$/) { - $key=~m/(^course\.$env{'request.course.id'}\.metadata\.)(\d+)\.title/; - $key_base = $1; - $item_num = $2; - if ($item_num ge $next_meta) { - $next_meta = $item_num + 1; - } - $output.=''.$env{$key}.''; - $output.='Select one:
'; - $output.='Select many: '; - $output.=''; + if ($key=~m/^course\.$env{'request.course.id'}\.metadata\.(.+)$/) { + my $meta_data_item = $1; + my $meta_hash=$env{$key}; + $output.=''.$meta_data_item.''; + $output.='Select one:
'; + $output.='Select many: '; + $output.=''; } } $output.='Create new instructor metadata item
'; $output.=''; - $output.='Select one:
'; - $output.='Select many: '; + $output.='students must pick only one:
'; + $output.='Allow student to type extra info: '; $output.=''; $output.=''; $output.='';