--- loncom/interface/lonparmset.pm 2006/11/15 22:33:13 1.346
+++ loncom/interface/lonparmset.pm 2006/12/05 02:55:53 1.350
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.346 2006/11/15 22:33:13 banghart Exp $
+# $Id: lonparmset.pm,v 1.350 2006/12/05 02:55:53 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -65,7 +65,7 @@ use Apache::lonlocal;
use Apache::lonnavmaps;
use Apache::longroup;
use Apache::lonrss;
-use LONCAPA;
+use LONCAPA qw(:DEFAULT :match);
# --- Caches local to lonparmset
@@ -2363,8 +2363,7 @@ sub readdata {
my $classlist=&Apache::loncoursedata::get_classlist();
foreach (keys %$classlist) {
- # the following undefs are for 'domain', and 'username' respectively.
- if ($_=~/^(\w+)\:(\w+)$/) {
+ if ($_=~/^($match_username)\:($match_domain)$/) {
my ($tuname,$tudom)=($1,$2);
my $useropt=&Apache::lonnet::get_userresdata($tuname,$tudom);
foreach my $userkey (keys %{$useropt}) {
@@ -2486,7 +2485,7 @@ sub storedata {
sub extractuser {
my $key=shift;
- return ($key=~/^$env{'request.course.id'}.\[useropt\:(\w+)\:(\w+)\]\./);
+ return ($key=~/^$env{'request.course.id'}.\[useropt\:($match_username)\:($match_domain)\]\./);
}
sub listdata {
@@ -2544,7 +2543,7 @@ sub listdata {
my $section=&mt('All Students');
if ($middle=~/^\[(.*)\]/) {
my $issection=$1;
- if ($issection=~/^useropt\:(\w+)\:(\w+)/) {
+ if ($issection=~/^useropt\:($match_username)\:($match_domain)/) {
$section=&mt('User').": ".&Apache::loncommon::plainname($1,$2);
} else {
$section=&mt('Group/Section').': '.$issection;
@@ -2918,7 +2917,7 @@ sub parse_key {
$data{'scope_type'} = 'all';
if ($middle=~/^\[(.*)\]/) {
$data{'scope'} = $1;
- if ($data{'scope'}=~/^useropt\:(\w+)\:(\w+)/) {
+ if ($data{'scope'}=~/^useropt\:($match_username)\:($match_domain)/) {
$data{'scope_type'} = 'user';
$data{'scope'} = [$1,$2];
} else {
@@ -3188,15 +3187,9 @@ ENDMAINFORMHEAD
}
### Set portfolio metadata
sub output_row {
- my ($r, $field_name, $field_text, $added_flag, $alt_row) = @_;
+ my ($r, $field_name, $field_text, $added_flag) = @_;
my $row_class;
- if ($alt_row) {
- $row_class = ' class="LC_metadata_light" ';
- } else {
- $row_class = ' class="LC_metadata_dark" ';
- }
my $output;
- $output = "
";
my $options=$env{'course.'.$env{'request.course.id'}.'.metadata.'.$field_name.'.options'};
my $values=$env{'course.'.$env{'request.course.id'}.'.metadata.'.$field_name.'.values'};
if (!defined($options)) {
@@ -3204,10 +3197,11 @@ sub output_row {
$values = '';
}
if (!($options =~ /deleted/)) {
- $output = "
";
+ $output = &Apache::loncommon::start_data_table_row();
$output .= ''.$field_text.': | ';
+ # $output .= ''.$field_text.': | ';
$output .= ' | ';
- $output .= "
\n";
+ $output .= &Apache::loncommon::end_data_table_row();
my @options= ( ['active', 'Show to student'],
['onlyone','Student may select only one choice'],
['stuadd', 'Student may type choices']);
@@ -3216,9 +3210,11 @@ sub output_row {
}
foreach my $opt (@options) {
my $checked = ($options =~ m/$opt->[0]/) ? ' checked="checked" ' : '' ;
- $output .= ''.(' ' x 5).' |
'."\n";
+ &mt($opt->[1]).' ';
+ $output .= &Apache::loncommon::end_data_table_row();
}
}
@@ -3402,11 +3398,11 @@ sub setrestrictmeta {
# Now get possible added metadata fields
my $added_metadata_fields = &get_added_meta_fieldnames(\%metadata_fields);
my $row_alt = 1;
- $output .= '";
+ $output .= &Apache::loncommon::end_data_table();
$r->print(<
$output
@@ -3709,13 +3705,7 @@ sub parm_change_log {
\%saveable_parameters);
&Apache::loncommon::restore_course_settings('parameter_log',
\%saveable_parameters);
- if (!$env{'form.show'}) { $env{'form.show'}=10; }
-
- my $countselect =
- &Apache::lonmeta::selectbox('show',$env{'form.show'},undef,
- (&mt('all'),10,20,50,100,1000,10000));
-
- $r->print(''.&mt('[_1] Records',$countselect).''.
+ $r->print(&Apache::loncommon::display_filter().
''.&Apache::lonhtmlcommon::checkbox('includetypes',$env{'form.includetypes'},'1').
' '.&mt('Include parameter types').''.
'');
@@ -3727,6 +3717,16 @@ sub parm_change_log {
&mt('Parameter').''.&mt('Part').' | '.&mt('New Value').' | '.&mt('Announce').' | '.
&Apache::loncommon::end_data_table_header_row());
my $shown=0;
+ my $folder='';
+ if ($env{'form.displayfilter'} eq 'currentfolder') {
+ my $last='';
+ if (tie(my %hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db',
+ &GDBM_READER(),0640)) {
+ $last=$hash{'last_known'};
+ untie(%hash);
+ }
+ if ($last) { ($folder) = &Apache::lonnet::decode_symb($last); }
+ }
foreach my $id (sort { $parmlog{$b}{'exe_time'}<=>$parmlog{$a}{'exe_time'} } (keys(%parmlog))) {
my @changes=keys(%{$parmlog{$id}{'logentry'}});
my $count = 0;
@@ -3748,7 +3748,6 @@ sub parm_change_log {
$parmlog{$id}{'exe_udom'});
}
my $row_start=&Apache::loncommon::start_data_table_row();
- $r->print($row_start);
my $makenewrow=0;
my %istype=();
my $output;
@@ -3758,6 +3757,11 @@ sub parm_change_log {
!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 ($env{'form.displayfilter'} eq 'currentfolder') {
+ if ($folder) {
+ if ($middle!~/^\Q$folder\E/) { next; }
+ }
+ }
if ($typeflag) {
$istype{$parmname}=$value;
if (!$env{'form.includetypes'}) { next; }
@@ -3810,13 +3814,20 @@ sub parm_change_log {
}
$output .= ''.&Apache::loncommon::end_data_table_row();
}
- $r->print(''.$time.' |
+ if ($env{'form.displayfilter'} eq 'containing') {
+ my $wholeentry=$about_me_link.':'.
+ $parmlog{$id}{'exe_uname'}.':'.$parmlog{$id}{'exe_udom'}.':'.
+ $output;
+ if ($wholeentry!~/\Q$env{'form.containingphrase'}\E/i) { next; }
+ }
+ if ($count) {
+ $r->print($row_start.''.$time.' |
'.$about_me_link.
' '.$parmlog{$id}{'exe_uname'}.
':'.$parmlog{$id}{'exe_udom'}.''.
$send_msg_link.' | '.$output);
-
- $shown++;
+ $shown++;
+ }
if (!($env{'form.show'} eq &mt('all')
|| $shown<=$env{'form.show'})) { last; }
}