--- loncom/interface/lonparmset.pm 2006/04/13 21:32:23 1.285
+++ loncom/interface/lonparmset.pm 2006/05/01 14:59:38 1.297
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.285 2006/04/13 21:32:23 albertel Exp $
+# $Id: lonparmset.pm,v 1.297 2006/05/01 14:59:38 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -117,7 +117,6 @@ sub parmval {
sub parmval_by_symb {
my ($what,$symb,$def,$uname,$udom,$csec,$cgroup,$courseopt)=@_;
# load caches
-
&cacheparmhash();
my $useropt=&Apache::lonnet::get_userresdata($uname,$udom);
@@ -394,38 +393,13 @@ sub storeparm_by_symb {
return '';
}
-{
- my $logid;
- sub log_parmset {
- my ($symb,$spnam,$snum,$nval,$ntype,$uname,$udom,$csec,$cgroup)=@_;
- $logid++;
- my $id=time().'00000'.$$.'00000'.$logid;
- &Apache::lonnet::put('parameterlog',
- {
- $id.'_exe_uname' => $env{'user.name'},
- $id.'_exe_udom' => $env{'user.domain'},
- $id.'_exe_time' => time(),
- $id.'_exe_ip' => $ENV{'REMOTE_ADDR'},
- $id.'_symb' => $symb,
- $id.'_spnam' => $spnam,
- $id.'_snum' => $snum,
- $id.'_nval' => $nval,
- $id.'_ntype' => $ntype,
- $id.'_uname' => $uname,
- $id.'_udom' => $udom,
- $id.'_csec' => $csec,
- $id.'_cgroup' => $cgroup
- },
- $env{'course.'.$env{'request.course.id'}.'.domain'},
- $env{'course.'.$env{'request.course.id'}.'.num'}
- );
- }
+sub log_parmset {
+ return &Apache::lonnet::instructor_log('parameterlog',@_);
}
sub storeparm_by_symb_inner {
# ---------------------------------------------------------- Get symb, map, etc
my ($symb,$spnam,$snum,$nval,$ntype,$uname,$udom,$csec,$cgroup)=@_;
- &log_parmset(@_);
# ---------------------------------------------------------- Construct prefixes
$spnam=~s/\_([^\_]+)$/\.$1/;
my $map=(&Apache::lonnet::decode_symb($symb))[0];
@@ -479,9 +453,11 @@ sub storeparm_by_symb_inner {
if ($delete) {
$reply=&Apache::lonnet::del
('resourcedata',[keys(%storecontent)],$cdom,$cnum);
+ &log_parmset(\%storecontent,1);
} else {
$reply=&Apache::lonnet::cput
('resourcedata',\%storecontent,$cdom,$cnum);
+ &log_parmset(\%storecontent);
}
&Apache::lonnet::devalidatecourseresdata($cnum,$cdom);
} else {
@@ -502,9 +478,11 @@ sub storeparm_by_symb_inner {
if ($delete) {
$reply=&Apache::lonnet::del
('resourcedata',[keys(%storecontent)],$udom,$uname);
+ &log_parmset(\%storecontent,1,$uname,$udom);
} else {
$reply=&Apache::lonnet::cput
('resourcedata',\%storecontent,$udom,$uname);
+ &log_parmset(\%storecontent,0,$uname,$udom);
}
&Apache::lonnet::devalidateuserresdata($uname,$udom);
}
@@ -1437,7 +1415,6 @@ sub assessparms {
my $uhome;
my $csec;
my $cgroup;
- my $grouplist;
my @usersgroups = ();
my $coursename=$env{'course.'.$env{'request.course.id'}.'.description'};
@@ -1543,16 +1520,12 @@ sub assessparms {
.$name{'lastname'}.' '.$name{'generation'}.
"
\n".&mt('ID').": ".$name{'id'}.'
'; } - $grouplist = &Apache::lonnet::get_users_groups( + @usersgroups = &Apache::lonnet::get_users_groups( $udom,$uname,$env{'request.course.id'}); - if ($grouplist) { - @usersgroups = &Apache::lonnet::sort_course_groups($grouplist, - $env{'request.course.id'}); + if (@usersgroups > 0) { unless (grep/^\Q$cgroup\E$/,@usersgroups) { $cgroup = $usersgroups[0]; - } - } else { - $cgroup = ''; + } } } } @@ -2115,7 +2088,8 @@ 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 @@ -2354,7 +2328,7 @@ sub tablestart { return ''; } else { $tableopen=1; - return '
'.&mt('Parameter').' | '. + return &Apache::loncommon::start_data_table().' | |
---|---|---|
'.&mt('Parameter').' | '. &mt('Delete').' | '.&mt('Set to ...').' |
'.$time.' | +'.$about_me_link.
+ ' '.$parmlog{$id}{'exe_uname'}. + ':'.$parmlog{$id}{'exe_udom'}.''. + $send_msg_link.' | ');
+ my $makenewrow=0;
+ 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)=
+ &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')).' | ');
+ my $stillactive=0;
+ if ($parmlog{$id}{'deleteflag'}) {
+ $r->print(&mt('Deleted'));
+ } else {
+ if ($typeflag) {
+ $r->print(&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));
+ } else {
+ $r->print($value);
+ }
+ if ($value ne $all[$level]) {
+ $r->print(' '.&mt('Not active anymore').''); + } else { + $stillactive=1; + } + } + } + $r->print(' | ');
+ if ($stillactive) {
+ if (($uname) && ($udom)) {
+ $r->print('Notify Link | '); + } else { + $r->print('Blog Link | '); + } + } else { + $r->print(''); + } + $r->print(' |