--- loncom/interface/loncoursegroups.pm 2006/07/07 19:50:21 1.44 +++ loncom/interface/loncoursegroups.pm 2006/07/07 20:31:09 1.45 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncoursegroups.pm,v 1.44 2006/07/07 19:50:21 albertel Exp $ +# $Id: loncoursegroups.pm,v 1.45 2006/07/07 20:31:09 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -103,7 +103,7 @@ sub handler { } if ($action eq 'create' || $action eq 'modify' || $action eq 'view') { if ($view_permission || $manage_permission) { - &group_administration($r,$action,$state,$cdom,$cnum,$function, + &group_administration($r,$action,$state,$cdom,$cnum, $tabcol,\%functions,\%idx,$view_permission, $manage_permission,$rowColor1,$rowColor2, $gpterm,$ucgpterm,$crstype); @@ -348,7 +348,7 @@ END } sub group_administration { - my ($r,$action,$state,$cdom,$cnum,$function,$tabcol,$functions,$idx, + my ($r,$action,$state,$cdom,$cnum,$tabcol,$functions,$idx, $view_permission,$manage_permission,$rowColor1,$rowColor2,$gpterm, $ucgpterm,$crstype) = @_; my %sectioncount = (); @@ -869,7 +869,7 @@ function changeSort(caller) { \%sectioncount,$groupname,$description,$functions, \@tools,$toolprivs,$fixedprivs,$startdate,$enddate, \%users,\%userdata,$idx,\%memchg,\%usertools, - $function,$view_permission,$manage_permission, + $view_permission,$manage_permission, \%stored,$granularity,$quota,$specificity,\@types,\@roles, \@sections,\%states,\%navbuttons,$rowColor1,$rowColor2, $gpterm,$ucgpterm,$crstype); @@ -962,7 +962,7 @@ sub retrieve_settings { sub display_control { my ($r,$cdom,$cnum,$tabcol,$action,$state,$page,$sectioncount,$groupname, $description,$functions,$tools,$toolprivs,$fixedprivs,$startdate, - $enddate,$users,$userdata,$idx,$memchg,$usertools,$function, + $enddate,$users,$userdata,$idx,$memchg,$usertools, $view_permission,$manage_permission,$stored,$granularity,$quota, $specificity,$types,$roles,$sections,$states,$navbuttons,$rowColor1, $rowColor2,$gpterm,$ucgpterm,$crstype) = @_; @@ -981,20 +981,18 @@ sub display_control { $stored,$states,$navbuttons,$rowColor1, $rowColor2,$gpterm,$ucgpterm,$crstype); } elsif ($state eq 'pick_privs') { - &choose_privs_form($r,$cdom,$cnum,$tabcol,$action,$state,$page, + &choose_privs_form($r,$cdom,$cnum,$action,$state,$page, $startdate,$enddate,$tools,$functions, $toolprivs,$fixedprivs,$userdata,$usertools, $idx,$states,$stored,$sectioncount,$navbuttons, - $rowColor1,$rowColor2,$gpterm,$ucgpterm, - $crstype); + $gpterm,$ucgpterm,$crstype); } elsif ($state eq 'result') { - &process_request($r,$cdom,$cnum,$tabcol,$action,$state,$page, + &process_request($r,$cdom,$cnum,$action,$state,$page, $groupname,$description,$specificity,$userdata, $startdate,$enddate,$tools,$functions, $toolprivs,$usertools,$idx,$types,$roles, $sections,$states,$navbuttons,$memchg, - $sectioncount,$stored,$rowColor1,$rowColor2, - $gpterm,$ucgpterm,$crstype); + $sectioncount,$stored,$gpterm,$ucgpterm,$crstype); } } elsif ($action eq 'modify') { my $groupname = $env{'form.groupname'}; @@ -1037,21 +1035,19 @@ sub display_control { $idx,$states,$stored,$sectioncount,$navbuttons, $rowColor1,$rowColor2,$gpterm,$ucgpterm,$crstype); } elsif ($state eq 'change_privs') { - &change_privs_form($r,$cdom,$cnum,$tabcol,$action,$state,$page, + &change_privs_form($r,$cdom,$cnum,$action,$state,$page, $startdate,$enddate,$tools,$functions, $toolprivs,$fixedprivs,$userdata,$usertools, $memchg,$idx,$states,$stored,$sectioncount, - $navbuttons,$rowColor1,$rowColor2,$gpterm, - $ucgpterm); + $navbuttons,$gpterm,$ucgpterm); } elsif ($state eq 'chgresult' || $state eq 'memresult' || $state eq 'addresult') { - &process_request($r,$cdom,$cnum,$tabcol,$action,$state,$page, + &process_request($r,$cdom,$cnum,$action,$state,$page, $groupname,$description,$specificity,$userdata, $startdate,$enddate,$tools,$functions, $toolprivs,$usertools,$idx,$types,$roles, $sections,$states,$navbuttons,$memchg, - $sectioncount,$stored,$rowColor1,$rowColor2, - $gpterm,$ucgpterm,$crstype); + $sectioncount,$stored,$gpterm,$ucgpterm,$crstype); } } } @@ -1886,8 +1882,7 @@ sub privilege_specificity { $r->print($lt{'sall'}); } $r->print(' '.$lt{'defp'}.'

'); - &display_defprivs($r,$tabcol,$rowColor1,$rowColor2,$tools, - $toolprivs,\@defprivs); + &display_defprivs($r,$tools,$toolprivs,\@defprivs); } } return; @@ -1961,7 +1956,11 @@ sub default_privileges { } sub display_defprivs { - my ($r,$tabcol,$rowColor1,$rowColor2,$tools,$toolprivs,$defprivs) = @_; + my ($r,$tools,$toolprivs,$defprivs) = @_; + my $function = &Apache::loncommon::get_users_function(); + my $tabcol = &Apache::loncommon::designparm($function.'.tabbg'); + my $rowColor1 = "#dddddd"; + my $rowColor2 = "#eeeeee"; my %lt = &Apache::lonlocal::texthash( 'priv' => 'Privileges', 'func' => 'Function', @@ -1974,7 +1973,7 @@ sub display_defprivs { @{$currprivs{$tool}} = (); foreach my $priv (sort(keys(%{$$toolprivs{$tool}}))) { if (ref($defprivs) eq 'ARRAY') { - if (grep/^\Q$priv\E$/,@{$defprivs}) { + if (grep(/^\Q$priv\E$/,@{$defprivs})) { push(@{$currprivs{$tool}},$priv); } } @@ -2051,32 +2050,17 @@ sub change_members_form { my $prevtext = $$navbuttons{'gtpp'}; $r->print('
- '); &topic_bar($r,1,$lt{'grse'}); - $r->print(' - - - '); &topic_bar($r,2,$lt{'mogm'}); - $r->print(' - - - '); &display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext, $$states{$action}[$page+1],$nexttext); - $r->print('
  -'); &print_current_settings($r,$action,$functions,$startdate,$enddate, $groupname,$description,$granularity,$quota, \@available,\@unavailable,$gpterm,$ucgpterm); -$r->print(' -
 
  -'); ¤t_membership($r,$cdom,$cnum,$formname,$tabcol,$rowColor1, $rowColor2,$groupname,\@available,\@unavailable, $fixedprivs,$granularity,$specificity); - $r->print('
'); return; } @@ -2318,10 +2302,10 @@ sub check_uncheck_buttons { sub change_privs_form { - my ($r,$cdom,$cnum,$tabcol,$action,$formname,$page,$startdate,$enddate, - $tools,$functions,$toolprivs,$fixedprivs,$userdata,$usertools, - $memchg,$idx,$states,$stored,$sectioncount,$navbuttons,$rowColor1, - $rowColor2,$gpterm,$ucgpterm) = @_; + my ($r,$cdom,$cnum,$action,$formname,$page,$startdate,$enddate, + $tools,$functions,$toolprivs,$fixedprivs,$userdata,$usertools, + $memchg,$idx,$states,$stored,$sectioncount,$navbuttons,$gpterm, + $ucgpterm) = @_; my @regexps = ('userpriv_'); my $nexttext; my %lt = &Apache::lonlocal::texthash( @@ -2336,7 +2320,6 @@ sub change_privs_form { } else { $nexttext = $$navbuttons{'mose'}; } - $r->print('
'); &topic_bar($r,3,&mt('Members to delete or expire')); my $exp_or_del = 0; if (ref($$memchg{'deletion'}) eq 'ARRAY') { @@ -2346,7 +2329,7 @@ sub change_privs_form { $r->print('
  • '.$$userdata{$user}[$$idx{fullname}]. ' ('.$user.')
  • '); } - $r->print(''); + $r->print(''); $exp_or_del += @{$$memchg{'deletion'}}; } } @@ -2357,23 +2340,20 @@ sub change_privs_form { $r->print('
  • '.$$userdata{$user}[$$idx{fullname}]. ' ('.$user.')
  • '); } - $r->print(''); + $r->print(''); $exp_or_del += @{$$memchg{'expire'}}; } } if (!$exp_or_del) { - $r->print(''); + $r->print($lt{'nome'}.'
    '); } &topic_bar($r,4,&mt('[_1] member privileges',$ucgpterm)); - my $numchgs = &member_privileges_form($r,$tabcol,$action,$formname,$tools, + my $numchgs = &member_privileges_form($r,$action,$formname,$tools, $toolprivs,$fixedprivs,$userdata, $usertools,$idx,$memchg,$states, - $stored,$rowColor1,$rowColor2, - $gpterm); - $r->print(''); + $stored,$gpterm); my $prevtext = $$navbuttons{'gtps'}; if ($numchgs || $exp_or_del) { &display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext, @@ -2381,7 +2361,6 @@ sub change_privs_form { } else { &display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext); } - $r->print('
     
     
     '.$lt{'nome'}. - '
     
     
    '); return; } @@ -2405,10 +2384,10 @@ sub add_members_form { } sub choose_privs_form { - my ($r,$cdom,$cnum,$tabcol,$action,$formname,$page,$startdate,$enddate, - $tools,$functions,$toolprivs,$fixedprivs,$userdata,$usertools,$idx, - $states,$stored,$sectioncount,$navbuttons,$rowColor1,$rowColor2, - $gpterm,$ucgpterm,$crstype) = @_; + my ($r,$cdom,$cnum,$action,$formname,$page,$startdate,$enddate, + $tools,$functions,$toolprivs,$fixedprivs,$userdata,$usertools,$idx, + $states,$stored,$sectioncount,$navbuttons,$gpterm,$ucgpterm, + $crstype) = @_; my @regexps = ('userpriv_'); my $nexttext; @@ -2425,14 +2404,12 @@ sub choose_privs_form { $nexttext = $$navbuttons{'adme'}; } - $r->print('
    '); &topic_bar($r,6,&mt('[_1] member privileges',$ucgpterm)); - &member_privileges_form($r,$tabcol,$action,$formname,$tools,$toolprivs, + &member_privileges_form($r,$action,$formname,$tools,$toolprivs, $fixedprivs,$userdata,$usertools,$idx,undef, - $states,$stored,$rowColor1,$rowColor2,$gpterm); + $states,$stored,$gpterm); - $r->print(''); if ($action eq 'create') { if (keys(%{$sectioncount}) > 0) { my $img1 = 7; @@ -2445,7 +2422,6 @@ sub choose_privs_form { my $prevtext = $$navbuttons{'gtps'}; &display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext, $$states{$action}[$page+1],$nexttext); - $r->print('
     
    '); return; } @@ -2508,9 +2484,8 @@ function uncheckAllTools(formname) { } sub member_privileges_form { - my ($r,$tabcol,$action,$formname,$tools,$toolprivs,$fixedprivs,$userdata, - $usertools,$idx,$memchg,$states,$stored,$rowColor1,$rowColor2, - $gpterm) = @_; + my ($r,$action,$formname,$tools,$toolprivs,$fixedprivs,$userdata, + $usertools,$idx,$memchg,$states,$stored,$gpterm) = @_; my %lt = &Apache::lonlocal::texthash( 'addp' => 'Additional privileges', 'fixp' => 'Fixed privileges', @@ -2571,7 +2546,7 @@ sub member_privileges_form { } $numchgs = @currmembers; if (!$numchgs) { - $r->print(' '.$lt{'nogm'}); + $r->print($lt{'nogm'}); return $numchgs; } } @@ -2587,14 +2562,14 @@ sub member_privileges_form { my %total; if (keys(%{$usertools}) > 1) { $r->print(' - +
    '); foreach my $tool (@{$tools}) { if (@{$showboxes{$tool}} > 0) { $r->print(''); - $r->print(''); + $r->print('
    '); - $r->print(''); } } - $r->print('
    '. + $r->print(''. + ''); my $privcount = 0; foreach my $priv (@{$showboxes{$tool}}) { @@ -2632,35 +2607,29 @@ sub member_privileges_form { $r->print('
    '. $tool.'
     
     
    '); } - $r->print(' '); - $r->print(&Apache::lonhtmlcommon::start_pick_box()); + $r->print(&Apache::loncommon::start_data_table(). + &Apache::loncommon::start_data_table_header_row()); $r->print(<<"END"); - - $lt{'full'} - $lt{'user'} + $lt{'full'} + $lt{'user'} $lt{'doma'} $lt{'addp'} - END - &member_privs_entries($r,$tabcol,$rowColor1,$rowColor2, - $usertools,$toolprivs,$fixedprivs, + $r->print(&Apache::loncommon::end_data_table_header_row()); + &member_privs_entries($r,$usertools,$toolprivs,$fixedprivs, $userdata,$idx,\@showtools,\@defprivs, \@excluded); - $r->print(''); - $r->print(&Apache::lonhtmlcommon::end_pick_box()); + $r->print(&Apache::loncommon::end_data_table()); } else { $r->print($lt{'forf'}.'
    '); - &display_defprivs($r,$tabcol,$rowColor1,$rowColor2,$tools, - $toolprivs,\@defprivs); + &display_defprivs($r,$tools,$toolprivs,\@defprivs); } } else { if (keys(%{$usertools}) > 0) { $r->print($lt{'algr'}.'

    '); - &display_defprivs($r,$tabcol,$rowColor1,$rowColor2,$tools, - $toolprivs,\@defprivs); + &display_defprivs($r,$tools,$toolprivs,\@defprivs); } else { $r->print($lt{'asno'}.'
    '); } @@ -2672,11 +2641,10 @@ END } sub process_request { - my ($r,$cdom,$cnum,$tabcol,$action,$state,$page,$groupname,$description, + my ($r,$cdom,$cnum,$action,$state,$page,$groupname,$description, $specificity,$userdata,$startdate,$enddate,$tools,$functions,$toolprivs, $usertools,$idx,$types,$roles,$sections,$states,$navbuttons,$memchg, - $sectioncount,$stored,$rowColor1,$rowColor2,$gpterm,$ucgpterm, - $crstype) = @_; + $sectioncount,$stored,$gpterm,$ucgpterm,$crstype) = @_; $r->print(&Apache::lonhtmlcommon::echo_form_input( ['origin','action','state','page','sortby'])); @@ -3087,10 +3055,6 @@ sub mapping_options { 'mapr' => "Mapping of roles and sections affected by automatic $gpterm enrollment/disenrollment follows scheme chosen below.", ); &automapping($r,$action,$stored,\%lt,$img1); - $r->print(' - -   - '); &mapping_settings($r,$sectioncount,\%lt,$stored,$img2,$crstype); return; } @@ -3159,7 +3123,7 @@ sub mapping_settings { } $r->print(&Apache::loncommon::start_data_table_row(). ''.$plrole. + 'name="autorole" value="'.$role.'" />'.$plrole. ''.$sections_sel. &Apache::loncommon::end_data_table_row()); } @@ -3171,7 +3135,7 @@ sub mapping_settings { } $r->print(&Apache::loncommon::start_data_table_row(). ''.$role.''. + 'value="'.$role.'" />'.$role.''. $sections_sel. &Apache::loncommon::end_data_table_row()); } @@ -3232,10 +3196,8 @@ sub modify_menu { } sub member_privs_entries { - my ($r,$tabcol,$rowColor1,$rowColor2,$usertools,$toolprivs, - $fixedprivs,$userdata,$idx,$showtools,$defprivs,$excluded) = @_; - my $rowColor; - my $rowNum = 0; + my ($r,$usertools,$toolprivs,$fixedprivs,$userdata,$idx,$showtools, + $defprivs,$excluded) = @_; foreach my $user (sort(keys(%{$usertools}))) { if (defined($excluded)) { if (ref($excluded) eq 'ARRAY') { @@ -3245,19 +3207,14 @@ sub member_privs_entries { } } my ($uname,$udom) = split(/:/,$user); - if ($rowNum %2 == 1) { - $rowColor = $rowColor1; - } else { - $rowColor = $rowColor2; - } - $r->print(' + $r->print(&Apache::loncommon::start_data_table_row().' '.$$userdata{$user}[$$idx{fullname}].' '.$uname.' '.$udom.'
    Function
    Fixed
    Optional
    '); foreach my $tool (@{$showtools}) { if (exists($$usertools{$user}{$tool})) { - $r->print(''); + $r->print(''); } else { - $r->print(''); + $r->print(''); } } - $rowNum ++; + $r->print(&Apache::loncommon::end_data_table_row()); } } @@ -3578,8 +3535,9 @@ sub topic_bar { my ($r,$imgnum,$title) = @_; $r->print('
    -   - '.$title.' + '.&mt('Step [_1]',$imgnum).
+	      '  + '.$title.'
    '); return;
    '.$tool.'
    '); my $privcount = 0; my $fixed = ''; my $dynamic = ''; @@ -3280,10 +3237,10 @@ sub member_privs_entries { } $r->print(''.$dynamic.'
    '.$tool.'
    '.$fixed.'
    '.$tool.'
     
     
    '.$tool.'