--- loncom/interface/lonparmset.pm 2006/04/17 21:28:50 1.291 +++ loncom/interface/lonparmset.pm 2006/04/18 18:10:55 1.293 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.291 2006/04/17 21:28:50 www Exp $ +# $Id: lonparmset.pm,v 1.293 2006/04/18 18:10:55 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -394,30 +394,8 @@ sub storeparm_by_symb { return ''; } -{ - my $logid; - sub log_parmset { - my ($storehash,$delflag,$uname,$udom)=@_; - my $logentry=join(',',map { - &Apache::lonnet::escape($_).'=>'.&Apache::lonnet::escape($$storehash{$_}); - } keys %$storehash); - $logid++; - my $id=time().'00000'.$$.'00000'.$logid; - &Apache::lonnet::put('nohist_parameterlog', - { - $id.'_exe_uname' => $env{'user.name'}, - $id.'_exe_udom' => $env{'user.domain'}, - $id.'_exe_time' => time(), - $id.'_exe_ip' => $ENV{'REMOTE_ADDR'}, - $id.'_delflag' => $delflag, - $id.'_logentry' => $logentry, - $id.'_uname' => $uname, - $id.'_udom' => $udom, - }, - $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 { @@ -2614,8 +2592,8 @@ sub listdata { # # Ready to print # - $r->print(&tablestart().''.$name. - ':'); $foundkeys++; if (&isdateparm($thistype)) { @@ -3053,7 +3031,7 @@ ENDMAINFORMHEAD action => 'setdefaults', permission => $parm_permission, }, - { text => 'Parameter Change Log and Course Blog Posting', + { text => 'Parameter Change Log and Course Blog Posting/User Notification', action => 'parameterchangelog', permission => $parm_permission, }, @@ -3356,6 +3334,25 @@ sub components { $what,$middle,$uname,$udom,$issection); } +sub standard_parameter_names { + my ($name)=@_; + my %standard_parms=&Apache::lonlocal::texthash('duedate' => 'Due Date', + 'answerdate' => 'Answer Date', + 'opendate' => 'Open Date', + 'maxtries' => 'Max. Number of Tries', + 'weight' => 'Weight', + 'date_start' => 'Starting Date', + 'date_end' => 'Ending Date', + 'int_pos' => 'Positive Integer', + 'int_zero_pos' => 'Positive Integer or Zero', + 'hinttries' => 'Number of Tries till Hints appear'); + if ($standard_parms{$name}) { + return $standard_parms{$name}; + } else { + return $name; + } +} + sub parm_change_log { my ($r)=@_; &startpage($r); @@ -3371,8 +3368,10 @@ sub parm_change_log { 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'; foreach my $id (sort { $exetime{$b}<=>$exetime{$a} } (keys(%exetime))) { - my @changes=split(/\,/,$parmlog{$id.'_logentry'}); + if ($bgcolor eq '#EEEEEE') { $bgcolor='#FFFFCC'; } else { $bgcolor='#EEEEEE'; } + my @changes=keys(%{$parmlog{$id.'_logentry'}}); my $count=$#changes+1; my $time = &Apache::lonlocal::locallocaltime($parmlog{$id.'_exe_time'}); @@ -3383,36 +3382,36 @@ sub parm_change_log { &Apache::loncommon::aboutmewrapper($plainname, $parmlog{$id.'_exe_uname'}, $parmlog{$id.'_exe_udom'}); - - my $send_msg_link; + my $send_msg_link=''; if ((($parmlog{$id.'_exe_uname'} ne $env{'user.name'}) || ($parmlog{$id.'_exe_udom'} ne $env{'user.domain'}))) { - my $send_msg_link ='
'. + $send_msg_link ='
'. &Apache::loncommon::messagewrapper(&mt('Send message'), $parmlog{$id.'_exe_uname'}, $parmlog{$id.'_exe_udom'}); } - $r->print(' + $r->print(''); my $makenewrow=0; my %istype=(); - foreach my $changed (sort @changes) { - my ($key,$value)=split(/\=\>/,&Apache::lonnet::unescape($changed)); + foreach my $changed (reverse(sort(@changes))) { + my $value=$parmlog{$id.'_logentry'}->{$changed}; my ($realm,$section,$parmname,$part,$typeflag,$what,$middle,$uname,$udom,$issection)= - &components($key,$parmlog{$id.'_uname'},$parmlog{$id.'_udom'}); + &components($changed,$parmlog{$id.'_uname'},$parmlog{$id.'_udom'}); if ($typeflag) { $istype{$parmname}=$value; } - if ($makenewrow) { $r->print(''); } else { $makenewrow=1; } + if ($makenewrow) { $r->print(''); } else { $makenewrow=1; } $r->print(''); if ($stillactive) { - $r->print(''); + if (($uname) && ($udom)) { + $r->print(''); + } else { + $r->print(''); + } } else { $r->print(''); } @@ -3535,7 +3538,7 @@ sub handler { &assessparms($r); } elsif ($env{'form.action'} eq 'parameterchangelog' && $parm_permission) { &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/parmset?action=settable', - text=>"Parameter Change Log and Course Blog Posting"}); + text=>"Parameter Change Log"}); &parm_change_log($r); } } else {
'.$time.'
'.$time.' '.$about_me_link. '
'.$parmlog{$id.'_exe_uname'}. ':'.$parmlog{$id.'_exe_udom'}.''. $send_msg_link.'
'.$realm.''.$section.''. - &mt('Part: [_1]',$part).''); + &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]',$value)); + $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); @@ -3430,7 +3429,11 @@ sub parm_change_log { } $r->print('Notify LinkNotify LinkBlog Link