--- loncom/interface/lonparmset.pm 2006/08/09 20:40:16 1.328
+++ loncom/interface/lonparmset.pm 2006/08/10 15:36:49 1.332
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.328 2006/08/09 20:40:16 albertel Exp $
+# $Id: lonparmset.pm,v 1.332 2006/08/10 15:36:49 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3314,14 +3314,16 @@ ENDYESNO
}
sub components {
- my ($key,$uname,$udom,$exeuser,$exedomain)=@_;
- my $typeflag=0;
- if ($key=~/\.type$/) {
+ my ($key,$uname,$udom,$exeuser,$exedomain,$typeflag)=@_;
+
+ if ($typeflag) {
$key=~s/\.type$//;
- $typeflag=1;
}
+
+ my ($middle,$part,$name)=
+ ($key=~/^$env{'request.course.id'}\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/);
my $issection;
- my ($middle,$part,$name)=($key=~/^$env{'request.course.id'}\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/);
+
my $section=&mt('All Students');
if ($middle=~/^\[(.*)\]/) {
$issection=$1;
@@ -3345,7 +3347,7 @@ sub components {
$realmdescription=&mt('resource').' '.&Apache::lonnet::gettitle($middle);
}
my $what=$part.'.'.$name;
- return ($realm,$section,$name,$part,$typeflag,
+ return ($realm,$section,$name,$part,
$what,$middle,$uname,$udom,$issection,$realmdescription);
}
@@ -3423,8 +3425,7 @@ sub parm_change_log {
my $shown=0;
foreach my $id (sort { $parmlog{$b}{'exe_time'}<=>$parmlog{$a}{'exe_time'} } (keys(%parmlog))) {
my @changes=keys(%{$parmlog{$id}{'logentry'}});
- my $count=$#changes+1;
- if (!$env{'form.includetypes'}) { $count=$count/2; }
+ my $count = 0;
my $time =
&Apache::lonlocal::locallocaltime($parmlog{$id}{'exe_time'});
my $plainname =
@@ -3443,65 +3444,74 @@ sub parm_change_log {
$parmlog{$id}{'exe_udom'});
}
my $row_start=&Apache::loncommon::start_data_table_row();
- $r->print($row_start.'
'.$time.' |
- '.$about_me_link.
- ' '.$parmlog{$id}{'exe_uname'}.
- ':'.$parmlog{$id}{'exe_udom'}.''.
- $send_msg_link.' | ');
+ $r->print($row_start);
my $makenewrow=0;
my %istype=();
+ my $output;
foreach my $changed (reverse(sort(@changes))) {
- my $value=$parmlog{$id}{'logentry'}->{$changed};
- my ($realm,$section,$parmname,$part,$typeflag,$what,$middle,$uname,$udom,$issection,$realmdescription)=
- &components($changed,$parmlog{$id}{'uname'},$parmlog{$id}{'udom'});
+ my $value=$parmlog{$id}{'logentry'}{$changed};
+ my $typeflag = ($changed =~/\.type$/ &&
+ !exists($parmlog{$id}{'logentry'}{$changed.'.type'}));
+ my ($realm,$section,$parmname,$part,$what,$middle,$uname,$udom,$issection,$realmdescription)=
+ &components($changed,$parmlog{$id}{'uname'},$parmlog{$id}{'udom'},undef,undef,$typeflag);
if ($typeflag) {
- if (!$env{'form.includetypes'}) { next; }
$istype{$parmname}=$value;
+ if (!$env{'form.includetypes'}) { next; }
}
- if ($makenewrow) { $r->print($row_start); } else { $makenewrow=1; }
- $r->print(''.$realm.' | '.$section.' | '.
+ $count++;
+ if ($makenewrow) {
+ $output .= $row_start;
+ } else {
+ $makenewrow=1;
+ }
+ $output .=' | '.$realm.' | '.$section.' | '.
&standard_parameter_names($parmname).' | '.
- ($part?&mt('Part: [_1]',$part):&mt('All Parts')).' | ');
+ ($part?&mt('Part: [_1]',$part):&mt('All Parts')).' | ';
my $stillactive=0;
- if ($parmlog{$id}{'deleteflag'}) {
- $r->print(&mt('Deleted'));
+ if ($parmlog{$id}{'delflag'}) {
+ $output .= &mt('Deleted');
} else {
if ($typeflag) {
- $r->print(&mt('Type: [_1]',&standard_parameter_names($value)));
+ $output .= &mt('Type: [_1]',&standard_parameter_names($value));
} else {
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));
+ $output .= &Apache::lonlocal::locallocaltime($value);
} else {
- $r->print($value);
+ $output .= $value;
}
if ($value ne $all[$level]) {
- $r->print(' '.&mt('Not active anymore').'');
+ $output .= ' '.&mt('Not active anymore').'';
} else {
$stillactive=1;
}
}
}
- $r->print(' | ');
+ $output .= '';
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(' | '.
- &Apache::loncommon::messagewrapper('Notify User',$uname,$udom,$title,$description).
- ' | ');
+ $output .=
+ &Apache::loncommon::messagewrapper('Notify User',
+ $uname,$udom,$title,
+ $description);
} else {
- $r->print(''.
- &Apache::lonrss::course_blog_link($id,$title,$description).
- ' | ');
+ $output .=
+ &Apache::lonrss::course_blog_link($id,$title,
+ $description);
}
- } else {
- $r->print(' | ');
}
- $r->print(&Apache::loncommon::end_data_table_row());
+ $output .= ''.&Apache::loncommon::end_data_table_row();
}
+ $r->print(''.$time.' |
+ '.$about_me_link.
+ ' '.$parmlog{$id}{'exe_uname'}.
+ ':'.$parmlog{$id}{'exe_udom'}.''.
+ $send_msg_link.' | '.$output);
+
$shown++;
if (!($env{'form.show'} eq &mt('all')
|| $shown<=$env{'form.show'})) { last; }