--- loncom/interface/lonparmset.pm 2005/10/14 17:05:44 1.260 +++ loncom/interface/lonparmset.pm 2005/12/29 17:59:31 1.268.2.3 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.260 2005/10/14 17:05:44 banghart Exp $ +# $Id: lonparmset.pm,v 1.268.2.3 2005/12/29 17:59:31 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -316,6 +316,8 @@ sub storeparm_by_symb { # store parameter &storeparm_by_symb_inner ($symb,$spnam,$snum,$nval,$ntype,$uname,$udom,$csec); +# don't do anything if parameter was reset + unless ($nval) { return; } my ($prefix,$parm)=($spnam=~/^(.*[\_\.])([^\_\.]+)$/); # remember that this was set $recstack{$parm}=1; @@ -527,10 +529,10 @@ sub plink { my ($parmname)=((split(/\&/,$marker))[1]=~/\_([^\_]+)$/); my ($hour,$min,$sec,$val)=&preset_defaults($parmname); unless (defined($winvalue)) { $winvalue=$val; } - return + return '
'. ''. - &valout($value,$type).''; + &valout($value,$type).'
'; } sub startpage { @@ -1456,14 +1458,15 @@ ENDTABLEHEADFOUR my $totalparms=scalar keys %name; if ($totalparms>0) { my $firstrow=1; - my $title=&Apache::lonnet::gettitle($uri); + my $title=&Apache::lonnet::gettitle($symbp{$rid}); $r->print(''. join(' / ',split(/\//,$uri)). '

'. "$title"); @@ -1571,10 +1574,7 @@ Set Defaults for All Resources in $folde Specifically for ENDMAPONE if ($uname) { - my %name=&Apache::lonnet::userenvironment($udom,$uname, - ('firstname','middlename','lastname','generation', 'id')); - my $person=$name{'firstname'}.' '.$name{'middlename'}.' ' - .$name{'lastname'}.' '.$name{'generation'}; + my $person=&Apache::loncommon::plainname($uname,$udom); $r->print(&mt("User")." $uname \($person\) ". &mt('in')." \n"); } else { @@ -1652,10 +1652,7 @@ ENDMAPONE $coursename
ENDMAPONE if ($uname) { - my %name=&Apache::lonnet::userenvironment($udom,$uname, - ('firstname','middlename','lastname','generation', 'id')); - my $person=$name{'firstname'}.' '.$name{'middlename'}.' ' - .$name{'lastname'}.' '.$name{'generation'}; + my $person=&Apache::loncommon::plainname($uname,$udom); $r->print(" ".&mt("User")." $uname \($person\) \n"); } else { $r->print(" ".&mt("ALL")." ".&mt("USERS")." \n"); @@ -1897,8 +1894,8 @@ sub crsenv { => ''.&mt('Receipt algorithm used').'
'. &mt('This controls how receipt numbers are generated.'), 'suppress_tries' - => ''.&mt('Suppress number of tries in printing').'('. - &mt('yes if supress').')', + => ''.&mt('Suppress number of tries in printing').'
'. + ' ('.&mt('"[_1]" to suppress, anything else to not suppress','yes').')', 'problem_stream_switch' => ''.&mt('Allow problems to be split over pages').'
'. ' ('.&mt('"[_1]" if allowed, anything else if not','yes').')', @@ -2696,6 +2693,8 @@ ENDMAINFORMHEAD # my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my $vgr = &Apache::lonnet::allowed('vgr',$env{'request.course.id'}); + my @menu = ( { text => 'Set Course Environment Parameters', @@ -2706,6 +2705,12 @@ ENDMAINFORMHEAD action => 'setrestrictmeta', permission => $parm_permission, }, + { text => 'Manage Course Slots', + url => '/adm/slotrequest?command=showslots', + permission => $vgr, + }, + { divider => 1, + }, { text => 'Set/Modify Resource Parameters - Helper Mode', url => '/adm/helper/parameter.helper', permission => $parm_permission, @@ -2730,6 +2735,10 @@ ENDMAINFORMHEAD ); my $menu_html = ''; foreach my $menu_item (@menu) { + if ($menu_item->{'divider'}) { + $menu_html .= '


'; + next; + } next if (! $menu_item->{'permission'}); $menu_html.='

'; $menu_html.=''; @@ -2753,36 +2762,24 @@ ENDMAINFORMHEAD sub output_row { my ($r, $field_name, $field_text) = @_; my $output; - my $options=$env{'course.'.$env{'request.course.id'}.'.'.$field_name.'.options'}; - my $values=$env{'course.'.$env{'request.course.id'}.'.'.$field_name.'.values'}; - my $checked; + my $options=$env{'course.'.$env{'request.course.id'}.'.metadata.'.$field_name.'.options'}; + my $values=$env{'course.'.$env{'request.course.id'}.'.metadata.'.$field_name.'.values'}; unless (defined($options)) { $options = 'active,stuadd'; - $values = 'Type a list of values separated by commas.'; + $values = ''; } $output.=''.$field_text.':'; - $output.='
'; - if ($options =~ m/active/) { - $checked = ' checked="checked" '; - } else { - $checked = ' '; - } - $output.='     '; - $output.='Active
'; - if ($options =~ m/onlyone/) { - $checked = ' checked="checked" '; - } else { - $checked = ' '; - } - $output.='     '; - $output.='Student may select only one choice
'; - if ($options =~ m/stuadd/) { - $checked = ' checked="checked" '; - } else { - $checked = ' '; + $output.='
'; + + my @options= ( ['active', 'Show to student'], + ['onlyone','Student may select only one choice'], + ['stuadd', 'Student may type choices']); + foreach my $opt (@options) { + my $checked = ($options =~ m/$opt->[0]/) ? ' checked="checked" ' : '' ; + $output.=(' 'x5).'
'; } - $output.='     '; - $output.='Student may type choices
'; return ($output); } @@ -2822,8 +2819,8 @@ sub setrestrictmeta { } my $name = $save_field; $put_result = &Apache::lonnet::put('environment', - {$meta_field.'.options'=>$options, - $meta_field.'.values'=>$env{'form.'.$meta_field.'_values'}, + {'metadata.'.$meta_field.'.options'=>$options, + 'metadata.'.$meta_field.'.values'=>$env{'form.'.$meta_field.'_values'}, },$dom,$crs); } } @@ -2832,7 +2829,10 @@ sub setrestrictmeta { &Apache::lonnet::coursedescription($env{'request.course.id'}); my %metadata_fields = &Apache::lonmeta::fieldnames('portfolio'); foreach my $field (sort(keys(%metadata_fields))) { - $output.= &output_row($r, $field, $metadata_fields{$field}); + &Apache::lonnet::logthis ($field); + if ($field ne 'courserestricted') { + $output.= &output_row($r, $field, $metadata_fields{$field}); + } } $r->print(<