Diff for /loncom/interface/loncoursegroups.pm between versions 1.6 and 1.14

version 1.6, 2006/02/21 18:56:00 version 1.14, 2006/05/01 19:37:33
Line 102  sub handler { Line 102  sub handler {
 sub print_main_menu {  sub print_main_menu {
     my ($r,$cdom,$cnum,$function,$tabcol,$functions,$idx,$view_permission,      my ($r,$cdom,$cnum,$function,$tabcol,$functions,$idx,$view_permission,
         $manage_permission,$action,$rowColor1,$rowColor2) = @_;          $manage_permission,$action,$rowColor1,$rowColor2) = @_;
     $r->print(&header('Course Groups',&mt('LON-CAPA Course Groups'),      $r->print(&header('Course Groups',undef,undef,undef,undef,$function));
               undef,undef,undef,undef,$function));  
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
         ({href=>"/adm/coursegroups",          ({href=>"/adm/coursegroups",
           text=>"Course Groups",});            text=>"Course Groups",});
     $r->print(&Apache::lonhtmlcommon::breadcrumbs      $r->print(&Apache::lonhtmlcommon::breadcrumbs('Course Groups'));
               (undef,'Course Groups'));  
     &display_groups($r,$cdom,$cnum,$function,$tabcol,$functions,$idx,      &display_groups($r,$cdom,$cnum,$function,$tabcol,$functions,$idx,
                     $view_permission,$manage_permission,$action,$rowColor1,                      $view_permission,$manage_permission,$action,$rowColor1,
                     $rowColor2);                      $rowColor2);
Line 145  sub display_groups { Line 143  sub display_groups {
                           file   => 'Files',                            file   => 'Files',
                           dibd   => 'Discussion Boards',                            dibd   => 'Discussion Boards',
                           dius   => 'Disk Use',                            dius   => 'Disk Use',
                      );                              nogr   => 'No groups exist.',
     $r->print('<br /><br />');                            crng   => 'Create a new group',
                             alth   => 'Although your current role has privileges'.
                                       ' to view any existing groups in this course,'.
                                       ' you do not have privileges to create new'.
                                       ' groups.',
                        );
     if ($view_permission) {      if ($view_permission) {
         if (!defined($action)) {          if (!defined($action)) {
             $action = 'view';              $action = 'view';
         }          }
         my %curr_groups;          my %curr_groups;
         if (&Apache::loncommon::coursegroups(\%curr_groups,$cdom,$cnum)) {          if (&Apache::loncommon::coursegroups(\%curr_groups,$cdom,$cnum)) {
               $r->print('<br /><br />');
             $r->print(&Apache::lonhtmlcommon::start_pick_box());              $r->print(&Apache::lonhtmlcommon::start_pick_box());
             $r->print(<<"END");              $r->print(<<"END");
       <table border="0" cellpadding="4" cellspacing="1">        <table border="0" cellpadding="4" cellspacing="1">
Line 251  END Line 255  END
             $r->print('</table>');              $r->print('</table>');
             $r->print(&Apache::lonhtmlcommon::end_pick_box());              $r->print(&Apache::lonhtmlcommon::end_pick_box());
         } else {          } else {
             $r->print('No groups exist');              $r->print($lt{'nogr'});
               if ($manage_permission) {
                   $r->print('<br /><br /><a href="/adm/coursegroups?action=create&refpage='.$env{'form.refpage'}.'">'.$lt{'crng'}.'</a>');
               } else {
                   $r->print('<br /><br />'.$lt{'crng'});
   
               }
         }          }
     } else {      } else {
         my @coursegroups = split(/:/,$env{'request.course.groups'});          my @coursegroups = split(/:/,$env{'request.course.groups'});
         if (@coursegroups > 0) {          if (@coursegroups > 0) {
               $r->print('<br /><br />');
             my %curr_groups;              my %curr_groups;
             if (&Apache::loncommon::coursegroups(\%curr_groups,$cdom,$cnum)) {              if (&Apache::loncommon::coursegroups(\%curr_groups,$cdom,$cnum)) {
                 foreach my $group (@coursegroups) {                  foreach my $group (@coursegroups) {
Line 452  sub group_administration { Line 463  sub group_administration {
         }          }
     }      }
   
     if ($action eq 'create') {      if (($action eq 'create') || 
           ($action eq 'modify' && $state eq 'pick_members')) {
         if (defined($env{'form.types'})) {          if (defined($env{'form.types'})) {
             @types=&Apache::loncommon::get_env_multiple('form.types');              @types=&Apache::loncommon::get_env_multiple('form.types');
         }          }
Line 473  sub group_administration { Line 485  sub group_administration {
     }      }
     if ($state eq 'pick_members') {      if ($state eq 'pick_members') {
         if ((keys(%users) > 0) && (@tools > 0)) {          if ((keys(%users) > 0) && (@tools > 0)) {
               if ($granularity eq 'Yes') {
                   $elements{$action}{'pick_members'}{'togglefunc'} = 'checkbox';
               }
             foreach my $tool (@tools) {              foreach my $tool (@tools) {
                 if ($granularity eq 'Yes') {                  if ($granularity eq 'Yes') {
                     $elements{$action}{'pick_members'}{'user_'.$tool} = 'checkbox';                      $elements{$action}{'pick_members'}{'user_'.$tool} = 'checkbox';
Line 527  sub group_administration { Line 542  sub group_administration {
             $elements{$action}{'change_members'}{'reenable'} = 'checkbox';              $elements{$action}{'change_members'}{'reenable'} = 'checkbox';
         }          }
         if ($numusers) {          if ($numusers) {
               if ($granularity eq 'Yes') {
                   $elements{$action}{'change_members'}{'togglefunc'} = 'checkbox';
               }
             foreach my $tool (@tools) {              foreach my $tool (@tools) {
                 if ($granularity eq 'Yes') {                  if ($granularity eq 'Yes') {
                     $elements{$action}{'change_members'}{'user_'.$tool} = 'checkbox';                      $elements{$action}{'change_members'}{'user_'.$tool} = 'checkbox';
Line 702  function changeSort(caller) { Line 720  function changeSort(caller) {
     }      }
   
     my $loaditems =  &onload_action($action,$state);      my $loaditems =  &onload_action($action,$state);
     $r->print(&header('Course Groups Manager',&mt('LON-CAPA Groups Manager'),      $r->print(&header('Course Groups Manager',
                           $jscript,$action,$state,$page,$function,$loaditems));        $jscript,$action,$state,$page,$function,$loaditems));
   
     if ($env{'form.refpage'} eq 'enrl') {      if ($env{'form.refpage'} eq 'enrl') {
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
Line 753  function changeSort(caller) { Line 771  function changeSort(caller) {
                 &Apache::lonhtmlcommon::add_breadcrumb(                  &Apache::lonhtmlcommon::add_breadcrumb(
                    {text=>"$trail{$action}{$state}"});                     {text=>"$trail{$action}{$state}"});
                 $r->print(&Apache::lonhtmlcommon::breadcrumbs                  $r->print(&Apache::lonhtmlcommon::breadcrumbs
                      (undef,'Course Groups Manager'));    ('Course Groups Manager'));
                 &display_control($r,$cdom,$cnum,$tabcol,$action,$state,$page,                  &display_control($r,$cdom,$cnum,$tabcol,$action,$state,$page,
                        \%sectioncount,$groupname,$description,$functions,                         \%sectioncount,$groupname,$description,$functions,
                        \@tools,\%toolprivs,\%fixedprivs,$startdate,$enddate,                         \@tools,\%toolprivs,\%fixedprivs,$startdate,$enddate,
Line 763  function changeSort(caller) { Line 781  function changeSort(caller) {
                        \@sections,\%states,\%navbuttons,$rowColor1,$rowColor2);                         \@sections,\%states,\%navbuttons,$rowColor1,$rowColor2);
                 last;                  last;
             } else {              } else {
                 if (($state  =~ /^\w+result$/) && ($i > 0)) {                  if (($state eq 'result') && ($i > 0)) {
                     &Apache::lonhtmlcommon::add_breadcrumb(                      &Apache::lonhtmlcommon::add_breadcrumb(
     {href=>"javascript:backPage(document.$state,'$states{$action}[0]')",      {href=>"javascript:backPage(document.$state,'$states{$action}[0]')",
       text=>"$trail{$action}{$states{$action}[$i]}"});        text=>"$trail{$action}{$states{$action}[$i]}"});
Line 778  function changeSort(caller) { Line 796  function changeSort(caller) {
                         &Apache::lonhtmlcommon::add_breadcrumb(                          &Apache::lonhtmlcommon::add_breadcrumb(
                    {text=>"View groups"});                     {text=>"View groups"});
         $r->print(&Apache::lonhtmlcommon::breadcrumbs          $r->print(&Apache::lonhtmlcommon::breadcrumbs
                      (undef,'Course Groups Manager'));    ('Course Groups Manager'));
         &display_groups($r,$cdom,$cnum,$function,$tabcol,$functions,$idx,          &display_groups($r,$cdom,$cnum,$function,$tabcol,$functions,$idx,
                         $view_permission,$manage_permission,$action,                          $view_permission,$manage_permission,$action,
                         $rowColor1,$rowColor2);                          $rowColor1,$rowColor2);
Line 932  sub display_control { Line 950  sub display_control {
 }  }
   
 sub header {  sub header {
     my ($bodytitle,$title,$jscript,$action,$state,$page,$function,$loaditems) = @_;      my ($bodytitle,$jscript,$action,$state,$page,$function,$loaditems) = @_;
     my $html=&Apache::lonxml::xmlbegin();      my $start_page=
     my $bodytag=&Apache::loncommon::bodytag($bodytitle,$function,$loaditems);   &Apache::loncommon::start_page($bodytitle,
          '<script type="text/javascript">'.
          $jscript.'</script>',
          {'function'    => $function,
    'add_entries' => $loaditems,});
     my $output = <<"END";      my $output = <<"END";
 $html  $start_page
 <head>  <form method="POST" name="$state">
 <title>$title</title>  
 <script type="text/javascript">  
 $jscript  
 </script>  
 </head>  
 $bodytag  
 <form method="post" name="$state">  
   
 END  END
     if ($action eq 'create' || $action eq 'modify') {      if ($action eq 'create' || $action eq 'modify') {
Line 960  END Line 975  END
   
 sub onload_action {  sub onload_action {
     my ($action,$state) = @_;      my ($action,$state) = @_;
     my $loaditems;      my %loaditems;
     if ((defined($env{'form.origin'})) && ($action eq 'create') &&      if ((defined($env{'form.origin'})) && ($action eq 'create') &&
                 ($state eq 'pick_name' || $state eq 'pick_members' ||                   ($state eq 'pick_name' || $state eq 'pick_members' || 
                  $state eq 'pick_privs')) {                   $state eq 'pick_privs')) {
         unless ($env{'form.origin'} eq '') {          unless ($env{'form.origin'} eq '') {
             $loaditems =       $loaditems{'onload'} = 
              'onload="javascript:setFormElements(document.'.$state.')"';   'javascript:setFormElements(document.'.$state.')';
         }          }
     }      }
     if (($action eq 'modify') &&      if (($action eq 'modify') &&
                 ($state eq 'change_settings' || $state eq 'change_members' ||                  ($state eq 'change_settings' || $state eq 'change_members' ||
                  $state eq 'change_privs') || $state eq 'add_members') {                   $state eq 'change_privs' || $state eq 'add_members' ||
             $loaditems =                   $state eq 'pick_members')) {
              'onload="javascript:setFormElements(document.'.$state.')"';   $loaditems{'onload'} = 
       'javascript:setFormElements(document.'.$state.')';
     }      }
     return $loaditems;      return \%loaditems;
 }  }
   
 sub footer {  sub footer {
       my $end_page = &Apache::loncommon::end_page();
        return(<<ENDFOOT);         return(<<ENDFOOT);
    <input type="hidden" name="sortby" value="$env{'form.sortby'}" />     <input type="hidden" name="sortby" value="$env{'form.sortby'}" />
   </form>    </form>
  </body>  $end_page
 </html>  
 ENDFOOT  ENDFOOT
 }  }
   
Line 1136  END Line 1152  END
     }      }
     my @allfunctions = sort(keys (%{$functions}));      my @allfunctions = sort(keys (%{$functions}));
     for (my $i=0; $i<$halfnum; $i++) {      for (my $i=0; $i<$halfnum; $i++) {
         $r->print('<td><input type="checkbox" name="tool" value="'.          $r->print('<td><label><input type="checkbox" name="tool" value="'.
                   $allfunctions[$i].'" />&nbsp;'.                    $allfunctions[$i].'" />&nbsp;'.
                    $$functions{$allfunctions[$i]}.'</td>                     $$functions{$allfunctions[$i]}.'</label></td>
                    <td>&nbsp;</td><td>&nbsp;</td>');                     <td>&nbsp;</td><td>&nbsp;</td>');
     }      }
     $r->print('<td><input type="button" value="check all" '.      $r->print('<td><input type="button" value="check all" '.
               'onclick="javascript:checkAll(document.'.$formname.'.tool)" />'.                'onclick="javascript:checkAll(document.'.$formname.'.tool)" />'.
               '</td></tr><tr><td>&nbsp;</td>');                '</td></tr><tr><td>&nbsp;</td>');
     for (my $j=$halfnum; $j<@allfunctions; $j++) {      for (my $j=$halfnum; $j<@allfunctions; $j++) {
         $r->print('<td><input type="checkbox" name="tool" value="'.          $r->print('<td><label><input type="checkbox" name="tool" value="'.
                   $allfunctions[$j].'" />&nbsp;'.                    $allfunctions[$j].'" />&nbsp;'.
                   $$functions{$allfunctions[$j]}.'</td>                    $$functions{$allfunctions[$j]}.'</label></td>
                   <td>&nbsp;</td><td>&nbsp;</td>');                    <td>&nbsp;</td><td>&nbsp;</td>');
     }      }
     if ($remnum) {      if ($remnum) {
Line 1161  END Line 1177  END
       </tr>        </tr>
       <tr>        <tr>
        <td><b>Granularity:</b></td>         <td><b>Granularity:</b></td>
        <td colspan="9">'.$lt{'doyo'}.'&nbsp;<input type="radio" name="granularity" value="Yes" />'.&mt('Yes').'&nbsp;<input type="radio" name="granularity" value="No" checked="checked" />'.&mt('No'));         <td colspan="9">'.$lt{'doyo'}.'&nbsp;<label><input type="radio" name="granularity" value="Yes" />'.&mt('Yes').'</label>&nbsp;<label><input type="radio" name="granularity" value="No" checked="checked" />'.&mt('No').'</label>');
     if ($action eq 'modify') {      if ($action eq 'modify') {
         $r->print('&nbsp;&nbsp;('.&mt('Currently set to "[_1]"',          $r->print('&nbsp;&nbsp;('.&mt('Currently set to "[_1]"',
                                       $$stored{'granularity'}).')');                                        $$stored{'granularity'}).')');
Line 1309  sub choose_members_form { Line 1325  sub choose_members_form {
     my %origmembers;      my %origmembers;
     $r->print(&Apache::lonhtmlcommon::echo_form_input(      $r->print(&Apache::lonhtmlcommon::echo_form_input(
          ['origin','action','state','page','member','specificity','branch',           ['origin','action','state','page','member','specificity','branch',
           'defpriv','autorole','autoadd','autodrop','sortby'],            'defpriv','autorole','autoadd','autodrop','sortby','togglefunc'],
          \@regexps));           \@regexps));
     my $earlyout = &validate_groupname($groupname,$action,$cdom,$cnum);      my $earlyout = &validate_groupname($groupname,$action,$cdom,$cnum);
     $r->print('      $r->print('
Line 1599  sub pick_new_members { Line 1615  sub pick_new_members {
             if ($granularity eq 'Yes') {              if ($granularity eq 'Yes') {
                 $r->print('<tr bgcolor="#cccccc">                  $r->print('<tr bgcolor="#cccccc">
  <td colspan="5">&nbsp;</td>   <td colspan="5">&nbsp;</td>
  <td align="center"><small><nobr><b>All:</b>&nbsp;');   <td align="center"><small><nobr><b>'.&mt('All:').'</b>&nbsp;');
                 foreach my $tool (@{$available}) {                  foreach my $tool (@{$available}) {
                     $r->print('<input type="checkbox" name="togglefunc" '.                      $r->print('<label><input type="checkbox" name="togglefunc" '.
    'onclick="javascript:toggleTools(document.'.$formname.'.user_'.$tool.',this);">'.     'onclick="javascript:toggleTools(document.'.$formname.'.user_'.$tool.',this);"'.
    '<b>'.$tool.'</b>&nbsp;&nbsp;&nbsp;');     ' value="'.$tool.'">'.'<b>'.$tool.'</b></label>&nbsp;&nbsp;&nbsp;');
                 }                  }
                 $r->print('</nobr></small></td></tr>');                  $r->print('</nobr></small></td></tr>');
             }              }
Line 1753  sub privilege_specificity { Line 1769  sub privilege_specificity {
         }          }
         if ($totaloptionalprivs) {          if ($totaloptionalprivs) {
             $r->print('              $r->print('
 <br /><br /><nobr><input type="radio" name="specificity" value="No" '.$specific{'No'}.' />&nbsp;'.$lt{'algm'}.'</nobr><br/>  <br /><br /><label><nobr><input type="radio" name="specificity" value="No" '.$specific{'No'}.' />&nbsp;'.$lt{'algm'}.'</nobr></label><br/>
 <nobr><input type="radio" name="specificity" value="Yes" '.$specific{'Yes'}.' />&nbsp;'.$lt{'smgp'}.'</nobr>  <label><nobr><input type="radio" name="specificity" value="Yes" '.$specific{'Yes'}.' />&nbsp;'.$lt{'smgp'}.'</nobr></label>
   </td>    </td>
  </tr>   </tr>
  <tr>   <tr>
Line 1876  sub default_privileges { Line 1892  sub default_privileges {
                     $dynamic .= '</tr>                      $dynamic .= '</tr>
                                  <tr bgcolor="'.$rowColor1.'">'."\n";                                   <tr bgcolor="'.$rowColor1.'">'."\n";
                 }                  }
                 $dynamic .= '<td><input type="checkbox" name="defpriv" value="'.$priv.'" />'.$$toolprivs{$tool}{$priv}.'</td>'."\n";                  $dynamic .= '<td><label><input type="checkbox" name="defpriv" value="'.$priv.'" />'.$$toolprivs{$tool}{$priv}.'</label></td>'."\n";
             }              }
         }          }
         if ($dynamic eq '') {          if ($dynamic eq '') {
Line 1982  sub change_members_form { Line 1998  sub change_members_form {
     my @regexps = ('user_','userpriv_');      my @regexps = ('user_','userpriv_');
     $r->print(&Apache::lonhtmlcommon::echo_form_input(      $r->print(&Apache::lonhtmlcommon::echo_form_input(
                          ['origin','action','state','page','expire','deletion',                           ['origin','action','state','page','expire','deletion',
                           'reenable','activate','changepriv','sortby'],                            'reenable','activate','changepriv','sortby',
                           \@regexps));                            'togglefunc'],\@regexps));
     my $rowimg = 1;      my $rowimg = 1;
     my @available = ();      my @available = ();
     my @unavailable = ();      my @unavailable = ();
Line 2204  END Line 2220  END
  <td colspan="'.$colspan.'" align="center"><small><nobr><b>'.&mt('All:').   <td colspan="'.$colspan.'" align="center"><small><nobr><b>'.&mt('All:').
   '</b>&nbsp;');    '</b>&nbsp;');
                     foreach my $tool (@{$available}) {                      foreach my $tool (@{$available}) {
                         $r->print('<input type="checkbox" name="togglefunc" '.                          $r->print('<label><input type="checkbox" name="togglefunc"'.
    'onclick="javascript:toggleTools(document.'.$formname.'.user_'.$tool.',this);">'.     ' onclick="javascript:toggleTools(document.'.$formname.'.user_'.$tool.',this);"'.
    '<b>'.$tool.'</b>&nbsp;&nbsp;&nbsp;');     ' value="'.$tool.'">'.'<b>'.$tool.'</b></label>&nbsp;&nbsp;&nbsp;');
                     }                      }
                     $r->print('</nobr></small></td></tr>');                      $r->print('</nobr></small></td></tr>');
                 }                  }
Line 2243  END Line 2259  END
                     $r->print('<tr bgcolor="'.$rowColor.'">                      $r->print('<tr bgcolor="'.$rowColor.'">
                                 <td><small>');                                  <td><small>');
                     if ($current{$user}{changestate} eq 'reenable') {                      if ($current{$user}{changestate} eq 'reenable') {
                         $r->print('<nobr>'.                           $r->print('<nobr><label>'. 
    '<input type="checkbox" name="reenable" value="'.$user.'" />'.     '<input type="checkbox" name="reenable" value="'.$user.'" />'.
    $lt{'reen'}.'</nobr><br />');     $lt{'reen'}.'</label></nobr><br />');
                     } elsif ($current{$user}{changestate} eq 'expire') {                      } elsif ($current{$user}{changestate} eq 'expire') {
                         $r->print('<nobr>'.                          $r->print('<nobr><label>'.
    '<input type="checkbox" name="expire" value="'.$user.'" />'.     '<input type="checkbox" name="expire" value="'.$user.'" />'.
    $lt{'expi'}.'</nobr><br />');     $lt{'expi'}.'</label></nobr><br />');
                     } elsif ($current{$user}{changestate} eq 'activate') {                      } elsif ($current{$user}{changestate} eq 'activate') {
                         $r->print('<nobr>'.                          $r->print('<nobr><label>'.
    '<input type="checkbox" name="activate" value="'.$user.'" />'.     '<input type="checkbox" name="activate" value="'.$user.'" />'.
    $lt{'acti'}.'</nobr><br />');     $lt{'acti'}.'</label></nobr><br />');
                     }                      }
                     $r->print('<nobr>'.                      $r->print('<nobr><label>'.
    '<input type="checkbox" name="deletion" value="'.$user.'" />'.     '<input type="checkbox" name="deletion" value="'.$user.'" />'.
    $lt{'dele'}.'</nobr>');     $lt{'dele'}.'</label></nobr>');
                     if ($specificity eq 'Yes') {                      if ($specificity eq 'Yes') {
                         $r->print('<br /><nobr>'.                          $r->print('<br /><nobr><label>'.
    '<input type="checkbox" name="changepriv" value="'.$user.'" />'.$lt{'chpr'}.     '<input type="checkbox" name="changepriv" value="'.$user.'" />'.$lt{'chpr'}.
    '</nobr>');     '</label></nobr>');
                     }                      }
                     $r->print('                      $r->print('
    </td>     </td>
Line 2274  END Line 2290  END
                                   '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');                                    '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
                         foreach my $tool (@{$current{$user}{currtools}}) {                          foreach my $tool (@{$current{$user}{currtools}}) {
                             if ($granularity eq 'Yes') {                              if ($granularity eq 'Yes') {
                                 $r->print('<input type="checkbox"                                   $r->print('<label><input type="checkbox" '. 
                                        checked="checked"                                           'checked="checked" '. 
                                        name="user_'.$tool.'" value="'.                                         'name="user_'.$tool.'" value="'.
                                        $user.'" />');                                         $user.'" />'.$tool.'</label>');
                              } else {                               } else {
                                $r->print('<input type="hidden"                                 $r->print('<input type="hidden" '.
                                        checked="checked"                                         'checked="checked" '.
                                        name="user_'.$tool.'" value="'.                                         'name="user_'.$tool.'" value="'.
                                        $user.'" />');                                         $user.'" />'.$tool);
                              }                               }
                              $r->print($tool.'&nbsp;&nbsp;&nbsp;');                               $r->print('&nbsp;&nbsp;&nbsp;');
                         }                          }
                         $r->print('</nobr></small></td>');                          $r->print('</nobr></small></td>');
                     }                      }
Line 2292  END Line 2308  END
                         $r->print('<td align="left"><small>');                          $r->print('<td align="left"><small>');
                         if ($granularity eq 'Yes') {                          if ($granularity eq 'Yes') {
                             foreach my $tool (@{$current{$user}{newtools}}) {                              foreach my $tool (@{$current{$user}{newtools}}) {
                                 $r->print('<nobr><input type="checkbox"                                    $r->print('<nobr><label><input type="checkbox"  
                                           name="user_'.$tool.'" value="'.                                            name="user_'.$tool.'" value="'.
                                           $user.'" />'.$tool.                                            $user.'" />'.$tool.
                                                   '</nobr>&nbsp;&nbsp;&nbsp;');                                            '</label></nobr>&nbsp;&nbsp;&nbsp;');
                             }                              }
                         } else {                          } else {
                             foreach my $tool (@{$current{$user}{newtools}}) {                              foreach my $tool (@{$current{$user}{newtools}}) {
Line 2894  sub process_membership { Line 2910  sub process_membership {
                   &Apache::loncommon::get_env_multiple('form.userpriv_'.$priv);                    &Apache::loncommon::get_env_multiple('form.userpriv_'.$priv);
                 foreach my $user (@users) {                  foreach my $user (@users) {
                     $group_privs{$user} .= $priv.':';                      $group_privs{$user} .= $priv.':';
                       if ($state eq 'memresult') { 
                           unless (exists($$usertools{$user}{$tool})) {
                               $$usertools{$user}{$tool} = 1;
                           }
                       }
                 }                  }
             } else {              } else {
                 if (@{$defprivs} > 0) {                  if (@{$defprivs} > 0) {
Line 2965  sub process_membership { Line 2986  sub process_membership {
                 }                  }
             }              }
         }          }
     }         }
   
     foreach my $user (sort(keys(%{$usertools}))) {      foreach my $user (sort(keys(%{$usertools}))) {
         my $type;          my $type;
Line 3004  sub process_membership { Line 3025  sub process_membership {
     if ($num_ok) {      if ($num_ok) {
         foreach my $type (sort(keys(%added))) {           foreach my $type (sort(keys(%added))) { 
             $r->print(&mt('The following users were successfully [_1]',$type));              $r->print(&mt('The following users were successfully [_1]',$type));
             if ($type eq 'activated' || $type eq 'added' || $type eq 'reenabled') {              if (!($type eq 'deleted' ||  $type eq 'expired')) {   
                 $r->print(&mt(' with the following privileges'));                  $r->print(&mt(' with the following privileges'));
             }              }
             $r->print(':<br />');              $r->print(':<br />');
             foreach my $user (@{$added{$type}}) {              foreach my $user (@{$added{$type}}) {
                 my $privlist;                  my $privlist = '';
                 if ($type eq 'activated' || $type eq 'added') {                  if (!($type eq 'deleted' ||  $type eq 'expired')) {
                       $privlist = ': ';
                     my @privs = split(/:/,$group_privs{$user});                      my @privs = split(/:/,$group_privs{$user});
                     my $curr_tool = '';                      my $curr_tool = '';
                     foreach my $priv (@privs) {                      foreach my $priv (@privs) {
Line 3022  sub process_membership { Line 3044  sub process_membership {
                     }                      }
                     $privlist =~ s/, $//;                      $privlist =~ s/, $//;
                 }                  }
                 $r->print($$userdata{$user}[$$idx{fullname}].'&nbsp;-&nbsp;'.$user.': '.$privlist.'<br />');                  $r->print($$userdata{$user}[$$idx{fullname}].'&nbsp;-&nbsp;'.$user.$privlist.'<br />');
             }              }
         }          }
     }      }
Line 3278  sub member_privs_entries { Line 3300  sub member_privs_entries {
                         if ($privcount == 3) {                          if ($privcount == 3) {
                             $dynamic .= '</tr><tr>';                              $dynamic .= '</tr><tr>';
                         }                          }
                         $dynamic .='<td><nobr><input type="checkbox" '.                          $dynamic .='<td><nobr><label><input type="checkbox" '.
                                'name="userpriv_'.$priv.'" value="'.$user.'"';                                 'name="userpriv_'.$priv.'" value="'.$user.'"';
                         if (grep/^\Q$priv\E$/,@{$defprivs}) {                          if (grep/^\Q$priv\E$/,@{$defprivs}) {
                             $dynamic .= ' checked="checked" ';                              $dynamic .= ' checked="checked" ';
                         }                          }
                         $dynamic .= ' />'.$$toolprivs{$tool}{$priv}.                          $dynamic .= ' />'.$$toolprivs{$tool}{$priv}.
                                     '</nobr></td>';                                      '</label></nobr></td>';
                     }                      }
                 }                  }
                 $r->print('<tr><td colspan="2"><nobr>'.$fixed.'</nobr></td></tr><tr>'.$dynamic.'</tr></table></td>');                  $r->print('<tr><td colspan="2"><nobr>'.$fixed.'</nobr></td></tr><tr>'.$dynamic.'</tr></table></td>');
Line 3313  sub date_setting_table { Line 3335  sub date_setting_table {
                                                       'startdate',$starttime);                                                        'startdate',$starttime);
     my $endform = &Apache::lonhtmlcommon::date_setter($formname,      my $endform = &Apache::lonhtmlcommon::date_setter($formname,
                                                       'enddate',$endtime);                                                        'enddate',$endtime);
     my $perpetual = '<nobr><input type="checkbox" name="no_end_date" />      my $perpetual = '<nobr><label><input type="checkbox" name="no_end_date" />
                                                   no ending date</nobr>';                                                  no ending date</label></nobr>';
     my $start_table = '';      my $start_table = '';
     $start_table .= "<table>\n";      $start_table .= "<table>\n";
     $start_table .= '<tr><td align="right">Default starting date for       $start_table .= '<tr><td align="right">Default starting date for 

Removed from v.1.6  
changed lines
  Added in v.1.14


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>