- |
-
');
- $r->print(&Apache::lonhtmlcommon::start_pick_box());
+ $r->print(&Apache::loncommon::start_data_table().
+ &Apache::loncommon::start_data_table_header_row());
$r->print('
-
-
- '.&mt('Add?').' |
- '.&mt('Name').' |
- '.&mt('Username').'
- |
- '.&mt('Domain').' |
- ID |
- Section |
+ '.&mt('Add?').'
+ | '.&mt('Name').'
+ | '.&mt('Username').'
+ | '.&mt('Domain').'
+ | '.&mt('ID').'
+ | '.&mt('Section').'
');
if (@{$available} > 0) {
- $r->print(' | '.$lt{'func'}.' | ');
+ $r->print(''.$lt{'func'}.' | ');
}
- $r->print(' ');
+ $r->print(&Apache::loncommon::end_data_table_header_row());
if (@{$available} > 0) {
if ($granularity eq 'Yes') {
- $r->print('
+ $r->print(&Apache::loncommon::start_data_table_row('LC_data_table_dense LC_data_table_highlight').'
|
- '.&mt('All:').' ');
+ '.&mt('All:').' ');
foreach my $tool (@{$available}) {
$r->print(' ');
}
- $r->print(' | | ');
+ $r->print('');
}
}
my %Sortby = ();
@@ -1819,27 +1730,22 @@ sub pick_new_members {
push(@{$Sortby{$members{$user}[$$idx{fullname}]}},$user);
}
}
- my $rowNum = 0;
- my $rowColor;
foreach my $key (sort(keys(%Sortby))) {
foreach my $user (@{$Sortby{$key}}) {
- if ($rowNum %2 == 1) {
- $rowColor = $rowColor1;
- } else {
- $rowColor = $rowColor2;
- }
my $id = $members{$user}[$$idx{id}];
my $fullname = $members{$user}[$$idx{fullname}];
my $udom = $members{$user}[$$idx{udom}];
my $uname = $members{$user}[$$idx{uname}];
my $section = $members{$user}[$$idx{section}];
- $r->print('
- | '.
- $fullname.' | '.$uname.' | '.
- $udom.' | '.$id.' | '.
- ''.$section.' | ');
+ $r->print(&Apache::loncommon::start_data_table_row('LC_data_table_dense').
+ ' | '.
+ ''.$fullname.' | '.
+ ''.$uname.' | '.
+ ''.$udom.' | '.
+ ''.$id.' | '.
+ ''.$section.' | ');
if (@{$available} > 0) {
- $r->print(''.
+ $r->print(''.
' ');
foreach my $tool (@{$available}) {
if ($granularity eq 'Yes') {
@@ -1850,30 +1756,18 @@ sub pick_new_members {
$tool.'" value="'.$user.'" />'.$tool.' ');
}
}
- $r->print(' | ');
+ $r->print(' | ');
}
- $r->print(' '."\n");
- $rowNum ++;
+ $r->print(&Apache::loncommon::end_data_table_row()."\n");
}
}
- $r->print(&Apache::lonhtmlcommon::end_pick_box());
- $r->print('
-
- ');
+ $r->print(&Apache::loncommon::end_data_table());
} else {
- $r->print('
-
- |
-
-');
if ($totalusers > 0) {
$r->print($lt{'nnew'}.'
'.$lt{'yoma'});
} else {
$r->print($lt{'nome'});
}
- $r->print('
- |
- ');
}
return $newusers;
}
@@ -1921,12 +1815,7 @@ sub privilege_specificity {
}
}
}
- &topic_bar($r,$tabcol,$img,$lt{'uprv'});
- $r->print('
-
- |
-
- ');
+ &topic_bar($r,$img,$lt{'uprv'});
if ((($action eq 'create') && (@{$available} > 0)) ||
(($action eq 'modify') && ($formname eq 'change_settings'))) {
my %specific = (
@@ -1952,21 +1841,14 @@ sub privilege_specificity {
}
if ($totaloptionalprivs) {
$r->print('
-
-
- |
-
-
- |
- ');
+
+
+');
} else {
$r->print('');
}
if ($totaloptionalprivs) {
- $r->print('
-
- |
- '.$lt{'plin'});
+ $r->print($lt{'plin'});
if ($action eq 'create') {
$r->print(' '.$lt{'thwi'});
}
@@ -1977,27 +1859,18 @@ sub privilege_specificity {
$r->print('('.&mt('if enabled below').').');
}
$r->print('
- |
-
-
- |
- ');
+ ');
&check_uncheck_buttons($r,$formname,'defpriv',$lt{'oppr'});
$r->print('
-
- |
-
- |
-
');
} else {
- $r->print(' | | '.$lt{'algm'}.'
');
+ $r->print($lt{'algm'}.'
');
}
- &default_privileges($r,$action,$tabcol,$rowColor1,$rowColor2,
- $tools,$toolprivs,$fixedprivs,$available);
+ &default_privileges($r,$action,$tools,$toolprivs,$fixedprivs,
+ $available);
} else {
if ($action eq 'create') {
$r->print($lt{'asyo'});
@@ -2017,87 +1890,74 @@ sub privilege_specificity {
$toolprivs,\@defprivs);
}
}
- $r->print('
- |
-
-');
return;
}
sub default_privileges {
- my ($r,$action,$tabcol,$rowColor1,$rowColor2,$tools,$toolprivs,
- $fixedprivs,$available) = @_;
+ my ($r,$action,$tools,$toolprivs,$fixedprivs,$available) = @_;
my %lt = &Apache::lonlocal::texthash(
'addp' => 'Additional privileges',
'fixp' => 'Fixed privileges',
'oppr' => 'Optional privileges',
'func' => 'Function',
);
- $r->print(&Apache::lonhtmlcommon::start_pick_box());
- $r->print('
-
-
-
- '.$lt{'func'}.' |
-
-
- '.$lt{'fixp'}.' |
-
-
- '.$lt{'oppr'}.' |
-
-
- |
- ');
+ $r->print(&Apache::lonhtmlcommon::start_pick_box('LC_group_priv_box').
+ &Apache::lonhtmlcommon::row_title($lt{'func'},undef,
+ 'LC_groups_functionality'));
+ $r->print(join('',@{$tools}));
+ $r->print(&Apache::lonhtmlcommon::row_closure(1));
+ my $fixed = '';
+ my $dynamic = '';
foreach my $tool (@{$tools}) {
- $r->print(' |
-
-
- '.$tool.' |
-
- ');
my $privcount = 0;
- my $fixed = '';
- my $dynamic = '';
+ if ($dynamic ne '') {
+ $dynamic .= '';
+ }
+ $dynamic .= ''."\n".' |
- ');
+ $dynamic .= ' ';
}
- $r->print(' | '."\n");
- $r->print(&Apache::lonhtmlcommon::end_pick_box());
+ $r->print(&Apache::lonhtmlcommon::row_title($lt{'fixp'},undef,
+ 'LC_groups_fixed').
+ $fixed.
+ &Apache::lonhtmlcommon::row_closure(1));
+ $r->print(&Apache::lonhtmlcommon::row_title($lt{'oppr'},undef,
+ 'LC_groups_optional').
+ $dynamic.
+ &Apache::lonhtmlcommon::end_pick_box());
$r->print(' ');
return;
+
}
sub display_defprivs {
@@ -2193,19 +2053,18 @@ sub change_members_form {
');
- &topic_bar($r,$tabcol,1,$lt{'grse'});
+ &topic_bar($r,1,$lt{'grse'});
$r->print('
|
');
- &print_current_settings($r,$action,$tabcol,$rowColor1,$rowColor2,
- $functions,$startdate,$enddate,$groupname,
- $description,$granularity,$quota,\@available,
- \@unavailable,$gpterm,$ucgpterm);
+ &print_current_settings($r,$action,$functions,$startdate,$enddate,
+ $groupname,$description,$granularity,$quota,
+ \@available,\@unavailable,$gpterm,$ucgpterm);
$r->print('
| | ');
- &topic_bar($r,$tabcol,2,$lt{'mogm'});
+ &topic_bar($r,2,$lt{'mogm'});
$r->print('
|
@@ -2478,7 +2337,7 @@ sub change_privs_form {
$nexttext = $$navbuttons{'mose'};
}
$r->print('
');
- &topic_bar($r,$tabcol,3,&mt('Members to delete or expire'));
+ &topic_bar($r,3,&mt('Members to delete or expire'));
my $exp_or_del = 0;
if (ref($$memchg{'deletion'}) eq 'ARRAY') {
if (@{$$memchg{'deletion'}} > 0) {
@@ -2507,7 +2366,7 @@ sub change_privs_form {
' | ');
}
- &topic_bar($r,$tabcol,4,&mt('[_1] member privileges',$ucgpterm));
+ &topic_bar($r,4,&mt('[_1] member privileges',$ucgpterm));
my $numchgs = &member_privileges_form($r,$tabcol,$action,$formname,$tools,
$toolprivs,$fixedprivs,$userdata,
@@ -2530,34 +2389,18 @@ sub add_members_form {
my ($r,$tabcol,$action,$formname,$page,$startdate,$enddate,$groupname,
$description,$granularity,$quota,$sectioncount,$tools,$functions,
$stored,$states,$navbuttons,$rowColor1,$rowColor2,$gpterm,$ucgpterm)=@_;
- $r->print('
-
-
- |
-
-');
+ $r->print(' ');
my @available = ();
my @unavailable = ();
&check_tools($functions,$tools,\@available,\@unavailable);
- &print_current_settings($r,$action,$tabcol,$rowColor1,$rowColor2,
- $functions,$startdate,$enddate,$groupname,
- $description,$granularity,$quota,\@available,
- \@unavailable,$gpterm,$ucgpterm);
- $r->print('
- |
-
-
- |
- ');
-
- &membership_options($r,$action,$formname,$tabcol,$sectioncount,1,$gpterm,
- $ucgpterm);
+ &print_current_settings($r,$action,$functions,$startdate,$enddate,
+ $groupname,$description,$granularity,$quota,
+ \@available,\@unavailable,$gpterm,$ucgpterm);
+ &membership_options($r,$action,$formname,$sectioncount,1,$gpterm,$ucgpterm);
my $nexttext = $$navbuttons{'gtns'};
my $prevtext = $$navbuttons{'gtpp'};
&display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext,
$$states{$action}[$page+1],$nexttext);
- $r->print('
- ');
return;
}
@@ -2583,7 +2426,7 @@ sub choose_privs_form {
}
$r->print('
');
- &topic_bar($r,$tabcol,6,&mt('[_1] member privileges',$ucgpterm));
+ &topic_bar($r,6,&mt('[_1] member privileges',$ucgpterm));
&member_privileges_form($r,$tabcol,$action,$formname,$tools,$toolprivs,
$fixedprivs,$userdata,$usertools,$idx,undef,
@@ -2594,9 +2437,9 @@ sub choose_privs_form {
if (keys(%{$sectioncount}) > 0) {
my $img1 = 7;
my $img2 = 8;
- &mapping_options($r,$action,$formname,$page,$tabcol,$sectioncount,
+ &mapping_options($r,$action,$formname,$page,$sectioncount,
$states,$stored,$navbuttons,$img1,$img2,
- $rowColor1,$rowColor2,$gpterm,$ucgpterm,$crstype);
+ $gpterm,$ucgpterm,$crstype);
}
}
my $prevtext = $$navbuttons{'gtps'};
@@ -2744,9 +2587,6 @@ sub member_privileges_form {
my %total;
if (keys(%{$usertools}) > 1) {
$r->print('
-
- |
-
');
@@ -2811,30 +2651,22 @@ END
\@excluded);
$r->print('');
$r->print(&Apache::lonhtmlcommon::end_pick_box());
- $r->print('
-
- |
-
-');
} else {
- $r->print(' | '.$lt{'forf'}.
- ' ');
+ $r->print($lt{'forf'}.' ');
&display_defprivs($r,$tabcol,$rowColor1,$rowColor2,$tools,
$toolprivs,\@defprivs);
}
} else {
if (keys(%{$usertools}) > 0) {
- $r->print(' | | '.$lt{'algr'}.
- '
');
+ $r->print($lt{'algr'}.'
');
&display_defprivs($r,$tabcol,$rowColor1,$rowColor2,$tools,
$toolprivs,\@defprivs);
} else {
- $r->print(' | | '.$lt{'asno'}.
- ' ');
+ $r->print($lt{'asno'}.' ');
}
}
} else {
- $r->print(' | | '.$lt{'asng'});
+ $r->print($lt{'asng'});
}
return $numchgs;
}
@@ -3140,17 +2972,6 @@ sub process_membership {
my $start = $startdate;
my $end = $enddate;
if ($state eq 'memresult') {
- if ($curr_privs{$user} eq $group_privs{$user}) {
- push(@unchanged,$user);
- next;
- }
- if (exists($curr_start{$user})) {
- $start = $curr_start{$user};
- }
- if (exists($curr_end{$user})) {
- $end = $curr_end{$user};
- }
- $type = 'modified';
if (@activate > 0) {
if (grep/^$user$/,@activate) {
$start = $now;
@@ -3165,6 +2986,19 @@ sub process_membership {
$type = 'reenabled';
}
}
+ if ($type eq '') {
+ if ($curr_privs{$user} eq $group_privs{$user}) {
+ push(@unchanged,$user);
+ next;
+ }
+ if (exists($curr_start{$user})) {
+ $start = $curr_start{$user};
+ }
+ if (exists($curr_end{$user})) {
+ $end = $curr_end{$user};
+ }
+ $type = 'modified';
+ }
} else {
$type = 'added';
}
@@ -3235,9 +3069,8 @@ sub process_membership {
}
sub mapping_options {
- my ($r,$action,$formname,$page,$tabcol,$sectioncount,$states,$stored,
- $navbuttons,$img1,$img2,$rowColor1,$rowColor2,$gpterm,$ucgpterm,
- $crstype) = @_;
+ my ($r,$action,$formname,$page,$sectioncount,$states,$stored,
+ $navbuttons,$img1,$img2,$gpterm,$ucgpterm,$crstype) = @_;
my %lt = &Apache::lonlocal::texthash(
'auto' => "Settings for automatic $gpterm enrollment",
'gmma' => "$ucgpterm membership mapping to specific sections/roles",
@@ -3253,18 +3086,17 @@ sub mapping_options {
'auex' => "Automatically expire $gpterm membership when roles are removed?",
'mapr' => "Mapping of roles and sections affected by automatic $gpterm enrollment/disenrollment follows scheme chosen below.",
);
- &automapping($r,$action,$tabcol,$stored,\%lt,$img1);
+ &automapping($r,$action,$stored,\%lt,$img1);
$r->print('
|
|
');
- &mapping_settings($r,$tabcol,$rowColor1,$rowColor2,$sectioncount,\%lt,
- $stored,$img2,$crstype);
+ &mapping_settings($r,$sectioncount,\%lt,$stored,$img2,$crstype);
return;
}
sub automapping {
- my ($r,$action,$tabcol,$stored,$lt,$image) = @_;
+ my ($r,$action,$stored,$lt,$image) = @_;
my $add = 'off';
my $drop = 'off';
if (exists($$stored{'autoadd'})) {
@@ -3273,78 +3105,44 @@ sub automapping {
if (exists($$stored{'autodrop'})) {
$drop = $$stored{'autodrop'};
}
- &topic_bar($r,$tabcol,$image,$$lt{'endi'});
+ &topic_bar($r,$image,$$lt{'endi'});
$r->print('
-
- |
-
- '.$$lt{'gmma'}.': '.$$lt{'adds'}.' '.$$lt{'drops'}.'
- |
-
-
- |
-
-
- |
-
+ '.$$lt{'gmma'}.': '.$$lt{'adds'}.' '.$$lt{'drops'}.'
'.$$lt{'auad'}.':
');
if ($action eq 'modify') {
$r->print(' ('.$$lt{'curr'}.' '.$$lt{$add}.')');
}
$r->print('
-
- |
-
-
- |
-
+
'.$$lt{'auex'}.':
');
if ($action eq 'modify') {
$r->print(' ('.$$lt{'curr'}.' '.$$lt{$drop}.')');
}
- $r->print('
- |
-
-
- |
-
-
- |
- '.$$lt{'mapr'}.'
- |
-
-');
+ $r->print('
'.$$lt{'mapr'});
}
sub mapping_settings {
- my ($r,$tabcol,$rowColor1,$rowColor2,$sectioncount,$lt,$stored,$image,
- $crstype) = @_;
+ my ($r,$sectioncount,$lt,$stored,$image,$crstype) = @_;
my @sections = keys(%{$sectioncount});
if (@sections > 0) {
@sections = sort {$a cmp $b} @sections;
unshift(@sections,'none'); # Put 'no sections' next
unshift(@sections,'all'); # Put 'all' at the front of the list
}
- &topic_bar($r,$tabcol,$image,$$lt{'pirs'});
- $r->print('
-
- |
-
-');
+ &topic_bar($r,$image,$$lt{'pirs'});
my @roles = &standard_roles();
my %customroles = &my_custom_roles();
- $r->print(&Apache::lonhtmlcommon::start_pick_box());
+ $r->print(&Apache::loncommon::start_data_table().
+ &Apache::loncommon::start_data_table_header_row());
$r->print('
- |
'.&mt('Active?').' |
'.&mt('Role').' | ');
if (@sections > 0) {
- $r->print(''.&mt('Sections').' | '."\n");
+ $r->print(''.&mt('Sections').' | ');
}
- my $rowNum = 0;
- my $rowColor;
+ $r->print(&Apache::loncommon::end_data_table_header_row()."\n");
foreach my $role (@roles) {
my $plrole=&Apache::lonnet::plaintext($role,$crstype);
my $sections_sel;
@@ -3359,33 +3157,25 @@ sub mapping_settings {
'';
}
}
- if ($rowNum %2 == 1) {
- $rowColor = $rowColor1;
- } else {
- $rowColor = $rowColor2;
- }
- $r->print('print(&Apache::loncommon::start_data_table_row().
+ ' | | '.$plrole.
- ' | '.$sections_sel.' ');
- $rowNum ++;
+ ''.$sections_sel.
+ &Apache::loncommon::end_data_table_row());
}
foreach my $role (sort(keys(%customroles))) {
my $sections_sel;
if (@sections > 0) {
- $sections_sel = ''.§ions_selection(\@sections,'sec_'.$role).
- ' | ';
- }
- if ($rowNum %2 == 1) {
- $rowColor = $rowColor1;
- } else {
- $rowColor = $rowColor2;
+ $sections_sel =
+ ''.§ions_selection(\@sections,'sec_'.$role).' | ';
}
- $r->print('print(&Apache::loncommon::start_data_table_row().
+ ' | | '.$role.' | '.
- $sections_sel.' ');
- $rowNum ++;
+ $sections_sel.
+ &Apache::loncommon::end_data_table_row());
}
- $r->print(&Apache::lonhtmlcommon::end_pick_box());
+ $r->print(&Apache::loncommon::end_data_table());
return;
}
@@ -3514,23 +3304,18 @@ sub date_setting_table {
'startdate',$starttime);
my $endform = &Apache::lonhtmlcommon::date_setter($formname,
'enddate',$endtime);
- my $perpetual = '';
- my $start_table = '';
- $start_table .= "\n";
+ return $table;
}
sub add_group_folder {
@@ -3761,8 +3546,8 @@ sub validate_groupname {
"existing $gpterm",
);
- my $exitmsg = ''.$lt{'igna'}.'
'.$lt{'tgne'}.' "'.
- $groupname.'" ';
+ my $exitmsg = ''.$lt{'igna'}.'
'.
+ $lt{'tgne'}.' "'.$groupname.'" ';
my $dupmsg = $lt{'grna'};
my $earlyout;
if (($groupname eq '') || ($groupname =~ /\W/)) {
@@ -3790,22 +3575,12 @@ sub validate_groupname {
}
sub topic_bar {
- my ($r,$tabcol,$imgnum,$title) = @_;
+ my ($r,$imgnum,$title) = @_;
$r->print('
-
- |
-
-
-
-
- |
- '.$title.'
- |
- |
-
-
- |
-
+
+ 
+ '.$title.'
+
');
return;
}
|
| |