--- loncom/interface/lonparmset.pm 2010/12/21 14:14:55 1.504 +++ loncom/interface/lonparmset.pm 2011/01/13 17:44:30 1.506 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.504 2010/12/21 14:14:55 raeburn Exp $ +# $Id: lonparmset.pm,v 1.506 2011/01/13 17:44:30 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -302,6 +302,7 @@ use Apache::lonlocal; use Apache::lonnavmaps; use Apache::longroup; use Apache::lonrss; +use HTML::Entities; use LONCAPA qw(:DEFAULT :match); @@ -890,6 +891,8 @@ sub startpage { {'add_entries' => \%loaditems,}); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Table Mode Parameter Setting','Table_Mode'); + my $escfilter=&Apache::lonhtmlcommon::entity_encode($env{'form.filter'}); + my $escpart=&Apache::lonhtmlcommon::entity_encode($env{'form.part'}); $r->print(< + + ENDHEAD } @@ -930,7 +935,7 @@ sub print_row { if ($parmlev eq 'full') { $r->print('' - .$$part{$which}.''); + .($$part{$which} eq '0'?'0 ('.&mt('default').')':$$part{$which}).''); } else { $parm=~s|\[.*\]\s||g; } @@ -2020,8 +2025,11 @@ sub assessparms { my @pscat=&Apache::loncommon::get_env_multiple('form.pscat'); my $pschp=$env{'form.pschp'}; + + my @psprt=&Apache::loncommon::get_env_multiple('form.psprt'); if (!@psprt) { $psprt[0]='0'; } + if (($env{'form.part'}) && ($psprt[0] ne 'all')) { $psprt[0]=$env{'form.part'}; } my $pssymb=''; my $parmlev=''; @@ -2123,7 +2131,7 @@ sub assessparms { my ($got_chostname,$chostname,$cmajor,$cminor); my $totalstored = 0; for (my $i=0;$i<=$#markers;$i++) { - my ($needsrelease,$needsnewer); + my ($needsrelease,$needsnewer); if ($markers[$i] =~ /^[\d.]+\&0_availablestudent\&(1|2|3)$/) { my (@ok_slots,@fail_slots,@del_slots); my $courseopt=&Apache::lonnet::get_courseresdata($cnum,$cdom); @@ -2158,7 +2166,7 @@ sub assessparms { $needsrelease = $Apache::lonnet::needsrelease{'parameter:type:'.$values[$i]}; if ($needsrelease) { - unless ($got_chostname) { + unless ($got_chostname) { ($chostname,$cmajor,$cminor) = &questiontype_release_vars(); $got_chostname = 1; } @@ -2331,6 +2339,9 @@ COURSECONTENTSCRIPT my $csudom=$env{'user.domain'}; if ($parmlev eq 'full') { +# +# This produces the cascading table output of parameters +# my $coursespan=$csec?8:5; my $userspan=3; if ($cgroup ne '') { @@ -2338,6 +2349,9 @@ COURSECONTENTSCRIPT } $r->print('

'); +# +# This produces the headers +# $r->print(''); $r->print(''); if ($uname) { @@ -2401,7 +2415,9 @@ ENDTABLEHEADFOUR } $r->print(''); - +# +# Done with the headers +# my $defbgone=''; my $defbgtwo=''; my $defbgthree = ''; @@ -2441,11 +2457,19 @@ ENDTABLEHEADFOUR my %default=(); my $uri=&Apache::lonnet::declutter($uris{$rid}); + my $filter=$env{'form.filter'}; + foreach (&keysplit($keyp{$rid})) { my $tempkeyp = $_; if (grep $_ eq $tempkeyp, @catmarker) { + my $parmname=&Apache::lonnet::metadata($uri,$_.'.name'); +# We may only want certain parameters listed + if ($filter) { + unless ($filter=~/\Q$parmname\E/) { next; } + } + $name{$_}=$parmname; $part{$_}=&Apache::lonnet::metadata($uri,$_.'.part'); - $name{$_}=&Apache::lonnet::metadata($uri,$_.'.name'); + my $parmdis=&Apache::lonnet::metadata($uri,$_.'.display'); if ($allparms{$name{$_}} ne '') { my $identifier; @@ -3123,6 +3147,13 @@ my %strings = [ 'surveycred', 'Survey (credit for submission)']], ); +sub standard_string_options { + my ($string_type) = @_; + if (ref($strings{$string_type}) eq 'ARRAY') { + return $strings{$string_type}; + } + return; +} sub string_selector { my ($thistype, $thiskey, $showval) = @_; @@ -3274,6 +3305,7 @@ ENDOVER my @pscat=&Apache::loncommon::get_env_multiple('form.pscat'); my $pschp=$env{'form.pschp'}; + my @psprt=&Apache::loncommon::get_env_multiple('form.psprt'); if (!@psprt) { $psprt[0]='0'; } @@ -4607,6 +4639,7 @@ sub handler { 'pres_marker', 'pres_value', 'pres_type', + 'filter','part', 'udom','uname','symb','serial','timebase']);
'.&mt('Any User').'