--- loncom/interface/lonparmset.pm 2006/05/09 14:38:10 1.299 +++ loncom/interface/lonparmset.pm 2006/05/16 20:43:57 1.306 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.299 2006/05/09 14:38:10 albertel Exp $ +# $Id: lonparmset.pm,v 1.306 2006/05/16 20:43:57 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -63,6 +63,7 @@ use Apache::lonhomework; use Apache::lonxml; use Apache::lonlocal; use Apache::lonnavmaps; +use Apache::lonrss; # --- Caches local to lonparmset @@ -90,11 +91,11 @@ Inputs: $what - a parameter spec (inclu Returns: A list, the first item is the index into the remaining list of items of parm valuse that is the active one, the list consists of parm values at the 14 possible levels -14 - General Course -13 - Map or Folder level in course +14- General Course +13- Map or Folder level in course 12- resource default 11- map default -10 - resource level in course +10- resource level in course 9 - General for section 8 - Map or Folder level for section 7 - resource level in section @@ -125,6 +126,7 @@ sub parmval_by_symb { my @outpar=(); # ----------------------------------------------------- Cascading lookup scheme my $map=(&Apache::lonnet::decode_symb($symb))[0]; + $map = &Apache::lonnet::deversion($map); my $symbparm=$symb.'.'.$what; my $mapparm=$map.'___(all).'.$what; @@ -403,6 +405,8 @@ sub storeparm_by_symb_inner { # ---------------------------------------------------------- Construct prefixes $spnam=~s/\_([^\_]+)$/\.$1/; my $map=(&Apache::lonnet::decode_symb($symb))[0]; + $map = &Apache::lonnet::deversion($map); + my $symbparm=$symb.'.'.$spnam; my $mapparm=$map.'___(all).'.$spnam; @@ -1117,16 +1121,13 @@ sub usermenu { 'oi' => "or ID", 'ad' => "at Domain" ); - my %sectionhash=(); my $sections=''; - my $numsec = &Apache::loncommon::get_sections( - $env{'course.'.$env{'request.course.id'}.'.domain'}, - $env{'course.'.$env{'request.course.id'}.'.num'}, - \%sectionhash); + my %sectionhash = &Apache::loncommon::get_sections(); + my $groups; my %grouphash = &Apache::loncommon::coursegroups(); - if ($numsec > 0) { + if (%sectionhash) { $sections=$lt{'se'}.': print(''); + foreach my $s ('all',sort keys %sectionhash) { + $r->print(' \n"); } - $r->print("\n"); - } + $r->print('>'.$s."\n"); + } + $r->print("\n"); } sub groupmenu { @@ -1516,7 +1512,7 @@ sub assessparms { @usersgroups = &Apache::lonnet::get_users_groups( $udom,$uname,$env{'request.course.id'}); if (@usersgroups > 0) { - unless (grep/^\Q$cgroup\E$/,@usersgroups) { + unless (grep(/^\Q$cgroup\E$/,@usersgroups)) { $cgroup = $usersgroups[0]; } } @@ -1934,7 +1930,7 @@ ENDMAPONE } if ($csec) {$r->print(&mt("Section")." $csec\n")}; - if ($cgroup) {$r->print(&mt("Group")." $csec\n")}; + if ($cgroup) {$r->print(&mt("Group")." $cgroup\n")}; $r->print("\n"); #---------------------------------------------------------------- print table $r->print('

'); @@ -2081,7 +2077,7 @@ sub crsenv { } # ------------------------- Re-init course environment entries for this session - &Apache::lonnet::coursedescription($env{'request.course.id'} + &Apache::lonnet::coursedescription($env{'request.course.id'}, {'freshen_cache' => 1}); # -------------------------------------------------------- Get parameters again @@ -3313,15 +3309,18 @@ sub components { $issection=''; } my $realm=''.&mt('All Resources').''; + my $realmdescription=&mt('all resources'); if ($middle=~/^(.+)\_\_\_\(all\)$/) { $realm=''.&mt('Folder/Map').': '.&Apache::lonnet::gettitle($1).'
('.$1.')
'; - } elsif ($middle) { + $realmdescription=&mt('folder').' '.&Apache::lonnet::gettitle($1); + } elsif ($middle) { my ($map,$id,$url)=&Apache::lonnet::decode_symb($middle); $realm=''.&mt('Resource').': '.&Apache::lonnet::gettitle($middle).'
('.$url.' in '.$map.' id: '.$id.')
'; + $realmdescription=&mt('resource').' '.&Apache::lonnet::gettitle($middle); } my $what=$part.'.'.$name; return ($realm,$section,$name,$part,$typeflag, - $what,$middle,$uname,$udom,$issection); + $what,$middle,$uname,$udom,$issection,$realmdescription); } sub standard_parameter_names { @@ -3349,12 +3348,15 @@ sub parm_change_log { my %parmlog=&Apache::lonnet::dump('nohist_parameterlog', $env{'course.'.$env{'request.course.id'}.'.domain'}, $env{'course.'.$env{'request.course.id'}.'.num'}); + if ((keys(%parmlog))[0]=~/^error\:/) { undef(%parmlog); } + my $courseopt=&Apache::lonnet::get_courseresdata($env{'course.'.$env{'request.course.id'}.'.num'}, $env{'course.'.$env{'request.course.id'}.'.domain'}); - $r->print('
'); - my $bgcolor='#EEEEEE'; + $r->print(&Apache::loncommon::start_data_table().&Apache::loncommon::start_data_table_header_row(). + ''. + &Apache::loncommon::end_data_table_header_row()); foreach my $id (sort { $parmlog{$b}{'exe_time'}<=>$parmlog{$a}{'exe_time'} } (keys(%parmlog))) { - if ($bgcolor eq '#EEEEEE') { $bgcolor='#FFFFCC'; } else { $bgcolor='#EEEEEE'; } my @changes=keys(%{$parmlog{$id}{'logentry'}}); my $count=$#changes+1; my $time = @@ -3374,7 +3376,8 @@ sub parm_change_log { $parmlog{$id}{'exe_uname'}, $parmlog{$id}{'exe_udom'}); } - $r->print(' + my $row_start=&Apache::loncommon::start_data_table_row(); + $r->print($row_start.''); } else { $makenewrow=1; } + if ($makenewrow) { $r->print($row_start); } else { $makenewrow=1; } $r->print(''); if ($stillactive) { + my $title=&mt('Changed [_1]',&standard_parameter_names($parmname)); + my $description=&mt('Changed [_1] for [_2] to [_3]',&standard_parameter_names($parmname),$realmdescription, + (&isdateparm($istype{$parmname})?&Apache::lonlocal::locallocaltime($value):$value)); if (($uname) && ($udom)) { - $r->print(''); + $r->print(''); } else { - $r->print(''); + $r->print(''); } } else { $r->print(''); } - $r->print(''); + $r->print(&Apache::loncommon::end_data_table_row()); } } - $r->print('
'.&mt('Time').''.&mt('User').''.&mt('Extent').''.&mt('Users').''. + &mt('Parameter').''.&mt('Part').''.&mt('New Value').''.&mt('Announce').'
'.$time.''.$time.' '.$about_me_link. '
'.$parmlog{$id}{'exe_uname'}. ':'.$parmlog{$id}{'exe_udom'}.''. @@ -3383,10 +3386,10 @@ sub parm_change_log { my %istype=(); foreach my $changed (reverse(sort(@changes))) { my $value=$parmlog{$id}{'logentry'}->{$changed}; - my ($realm,$section,$parmname,$part,$typeflag,$what,$middle,$uname,$udom,$issection)= + my ($realm,$section,$parmname,$part,$typeflag,$what,$middle,$uname,$udom,$issection,$realmdescription)= &components($changed,$parmlog{$id}{'uname'},$parmlog{$id}{'udom'}); if ($typeflag) { $istype{$parmname}=$value; } - if ($makenewrow) { $r->print('
'.$realm.''.$section.''. &standard_parameter_names($parmname).''. ($part?&mt('Part: [_1]',$part):&mt('All Parts')).''); @@ -3413,18 +3416,25 @@ sub parm_change_log { } $r->print('Notify Link'. + &Apache::loncommon::messagewrapper('Notify User',$uname,$udom,$title,$description). + 'Blog Link'. + &Apache::lonrss::course_blog_link($id,$title,$description). + ' 
'); + $r->print(&Apache::loncommon::end_data_table()); $r->print(&Apache::loncommon::end_page()); }