--- loncom/interface/lonparmset.pm 2004/01/15 03:18:19 1.148 +++ loncom/interface/lonparmset.pm 2004/09/10 21:29:54 1.175 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.148 2004/01/15 03:18:19 www Exp $ +# $Id: lonparmset.pm,v 1.175 2004/09/10 21:29:54 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -307,9 +307,7 @@ sub startpage { 'ad' => "at Domain" ); my $overallhelp= - &Apache::loncommon::help_open_topic("Course_Setting_Parameters"). - &Apache::loncommon::help_open_faq(10). - &Apache::loncommon::help_open_bug('Instructor Interface'); + &Apache::loncommon::help_open_menu('','Setting Parameters','Course_Setting_Parameters','',10,'Instructor Interface'); my $assessparmhelp=&Apache::loncommon::help_open_topic("Cascading_Parameters","Assessment Parameters"); $r->print(< @@ -544,7 +542,7 @@ Input: See list below: =item B: hash, id->type, where "type" contains the extension of the file, thus, I. -=item B: hash, id->key list, will contain a comma seperated list of the meta-data keys available for the given id +=item B: hash, id->key list, will contain a comma separated list of the meta-data keys available for the given id =item B: hash, name of parameter->display value (what is the display value?) @@ -583,11 +581,14 @@ sub extractResourceInformation { foreach (keys %$bighash) { if ($_=~/^src\_(\d+)\.(\d+)$/) { + # there are no resources in the 0 level + if ($1 eq '0') { next; } my $mapid=$1; my $resid=$2; my $id=$mapid.'.'.$resid; my $srcf=$$bighash{$_}; - if ($srcf=~/\.(problem|exam|quiz|assess|survey|form)$/) { + if (1) { + $srcf=~/\.(\w+)$/; $$ids[$#$ids+1]=$id; $$typep{$id}=$1; $$keyp{$id}=''; @@ -596,6 +597,10 @@ sub extractResourceInformation { my $key=$_; my $allkey=$1; $allkey=~s/\_/\./g; + if (&Apache::lonnet::metadata($srcf,$key.'.hidden') eq + 'parm') { + next; #hide hidden things + } my $display= &Apache::lonnet::metadata($srcf,$key.'.display'); my $name=&Apache::lonnet::metadata($srcf,$key.'.name'); my $part= &Apache::lonnet::metadata($srcf,$key.'.part'); @@ -620,8 +625,12 @@ sub extractResourceInformation { &Apache::lonnet::declutter($$bighash{'map_id_'.$mapid}); $$mapp{$mapid}=$$mapp{$id}; $$allmaps{$mapid}=$$mapp{$id}; - $$maptitles{$mapid}= - $$bighash{'title_'.$$bighash{'ids_'.&Apache::lonnet::clutter($$mapp{$id})}}; + if ($mapid eq '1') { + $$maptitles{$mapid}='Main Course Documents'; + } else { + $$maptitles{$mapid}= + $$bighash{'title_'.$$bighash{'ids_'.&Apache::lonnet::clutter($$mapp{$id})}}; + } $$maptitles{$$mapp{$id}}=$$maptitles{$mapid}; $$symbp{$id}=$$mapp{$id}. '___'.$resid.'___'. @@ -690,8 +699,12 @@ sub assessparms { my $message=''; $csec=$ENV{'form.csec'}; - $udom=$ENV{'form.udom'}; - unless ($udom) { $udom=$r->dir_config('lonDefDomain'); } + if ($udom=$ENV{'form.udom'}) { + } elsif ($udom=$ENV{'request.role.domain'}) { + } elsif ($udom=$ENV{'user.domain'}) { + } else { + $udom=$r->dir_config('lonDefDomain'); + } my @pscat=&Apache::loncommon::get_env_multiple('form.pscat'); my $pschp=$ENV{'form.pschp'}; @@ -943,7 +956,9 @@ sub assessparms { my $submitmessage = &mt('Update Section or Specific User'); if (!$pssymb) { - $r->print(''.&mt('Select Parameter Level').''); + $r->print(''.&mt('Select Parameter Level'). + &Apache::loncommon::help_open_topic('Course_Parameter_Levels'). + ''); $r->print(''; } + my %lt=&Apache::lonlocal::texthash( + 'par' => 'Parameter', + 'val' => 'Value', + 'set' => 'Set', + 'sce' => 'Set Course Environment' + ); + my $Parameter=&mt('Parameter'); my $Value=&mt('Value'); my $Set=&mt('Set'); + my $browse_js=&Apache::loncommon::browser_and_searcher_javascript('parmset'); $r->print(< LON-CAPA Course Environment @@ -1702,10 +1736,10 @@ $bodytag $setoutput

- + $output
$Parameter$Value$Set?
$lt{'par'}$lt{'val'}$lt{'set'}?
- + @@ -1766,7 +1800,7 @@ ENDOVER push (@deldata,$thiskey); } elsif ($cmd eq 'datepointer') { my $data=&Apache::lonhtmlcommon::get_date_from_form($ENV{$_}); - if ($olddata{$thiskey} ne $data) { $newdata{$thiskey}=$data; } + if (defined($data) and $olddata{$thiskey} ne $data) { $newdata{$thiskey}=$data; } } } } @@ -1810,9 +1844,10 @@ ENDOVER $middle=~s/\.$//; my $realm=''.&mt('All Resources').''; if ($middle=~/^(.+)\_\_\_\(all\)$/) { - $realm=''.&mt('Folder/Map').': '.&Apache::lonnet::gettitle($1).''; + $realm=''.&mt('Folder/Map').': '.&Apache::lonnet::gettitle($1).'
('.$1.')
'; } elsif ($middle) { - $realm=''.&mt('Resource').': '.&Apache::lonnet::gettitle($middle).''; + my ($map,$id,$url)=&Apache::lonnet::decode_symb($middle); + $realm=''.&mt('Resource').': '.&Apache::lonnet::gettitle($middle).'
('.$url.' in '.$map.' id: '.$id.')
'; } if ($section ne $oldsection) { $r->print(&tableend()."\n


$section

"); @@ -1899,7 +1934,10 @@ sub handler { # ----------------------------------------------------- Needs to be in a course if (($ENV{'request.course.id'}) && - (&Apache::lonnet::allowed('opa',$ENV{'request.course.id'}))) { + (&Apache::lonnet::allowed('opa',$ENV{'request.course.id'}) || + &Apache::lonnet::allowed('opa',$ENV{'request.course.id'}.'/'. + $ENV{'request.course.sec'}) + )) { &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header;