--- loncom/interface/lonparmset.pm 2006/04/15 21:12:56 1.290 +++ loncom/interface/lonparmset.pm 2006/04/17 21:28:50 1.291 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.290 2006/04/15 21:12:56 www Exp $ +# $Id: lonparmset.pm,v 1.291 2006/04/17 21:28:50 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -3324,25 +3324,26 @@ ENDYESNO } sub components { - my ($key,$uname,$udom)=@_; + my ($key,$uname,$udom,$exeuser,$exedomain)=@_; my $typeflag=0; if ($key=~/\.type$/) { $key=~s/\.type$//; $typeflag=1; } + my $issection; my ($middle,$part,$name)=($key=~/^$env{'request.course.id'}\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/); my $section=&mt('All Students'); if ($middle=~/^\[(.*)\]/) { - my $issection=$1; - if ($uname) { - $section=&mt('User').": ".&Apache::loncommon::plainname($uname,$udom); - } else { - $section=&mt('Group/Section').': '.$issection; - } + $issection=$1; + $section=&mt('Group/Section').': '.$issection; $middle=~s/^\[(.*)\]//; } $middle=~s/\.+$//; $middle=~s/^\.+//; + if ($uname) { + $section=&mt('User').": ".&Apache::loncommon::plainname($uname,$udom); + $issection=''; + } my $realm=''.&mt('All Resources').''; if ($middle=~/^(.+)\_\_\_\(all\)$/) { $realm=''.&mt('Folder/Map').': '.&Apache::lonnet::gettitle($1).'
('.$1.')
'; @@ -3350,7 +3351,9 @@ sub components { my ($map,$id,$url)=&Apache::lonnet::decode_symb($middle); $realm=''.&mt('Resource').': '.&Apache::lonnet::gettitle($middle).'
('.$url.' in '.$map.' id: '.$id.')
'; } - return ($realm,$section,$name,$part,$typeflag); + my $what=$part.'.'.$name; + return ($realm,$section,$name,$part,$typeflag, + $what,$middle,$uname,$udom,$issection); } sub parm_change_log { @@ -3364,9 +3367,11 @@ sub parm_change_log { if ($key=~/^(.+)\_exe\_time$/) { $exetime{$1}=$parmlog{$key}; } - } + } + my $courseopt=&Apache::lonnet::get_courseresdata($env{'course.'.$env{'request.course.id'}.'.num'}, + $env{'course.'.$env{'request.course.id'}.'.domain'}); $r->print(''); - foreach my $id (sort { $exetime{$a}<=>$exetime{$b} } (keys(%exetime))) { + foreach my $id (sort { $exetime{$b}<=>$exetime{$a} } (keys(%exetime))) { my @changes=split(/\,/,$parmlog{$id.'_logentry'}); my $count=$#changes+1; my $time = @@ -3396,24 +3401,40 @@ sub parm_change_log { my %istype=(); foreach my $changed (sort @changes) { my ($key,$value)=split(/\=\>/,&Apache::lonnet::unescape($changed)); - my ($realm,$section,$parmname,$part,$typeflag)= + my ($realm,$section,$parmname,$part,$typeflag,$what,$middle,$uname,$udom,$issection)= &components($key,$parmlog{$id.'_uname'},$parmlog{$id.'_udom'}); if ($typeflag) { $istype{$parmname}=$value; } if ($makenewrow) { $r->print(''); } else { $makenewrow=1; } $r->print(''); + $r->print(''); + if ($stillactive) { + $r->print(''); + } else { + $r->print(''); + } + $r->print(''); } } $r->print('
'.$realm.''.$section.''. &mt('Part: [_1]',$part).''); + my $stillactive=0; if ($parmlog{$id.'_deleteflag'}) { $r->print(&mt('Deleted')); } else { if ($typeflag) { $r->print(&mt('Type: [_1]',$value)); - } elsif (&isdateparm($istype{$parmname})) { - $r->print(&Apache::lonlocal::locallocaltime($value)); } else { - $r->print($value); + my ($level,@all)=&parmval_by_symb($what,$middle,&Apache::lonnet::metadata($middle,$what), + $uname,$udom,$issection,$issection,$courseopt); + if (&isdateparm($istype{$parmname})) { + $r->print(&Apache::lonlocal::locallocaltime($value)); + } else { + $r->print($value); + } + if ($value ne $all[$level]) { + $r->print('
'.&mt('Not active anymore').''); + } else { + $stillactive=1; + } } } - $r->print('
Notify Link 
');