Diff for /loncom/interface/grouproster.pm between versions 1.3 and 1.4

version 1.3, 2006/07/17 15:07:26 version 1.4, 2006/08/17 23:36:05
Line 52  sub handler { Line 52  sub handler {
         return HTTP_NOT_ACCEPTABLE;          return HTTP_NOT_ACCEPTABLE;
     }      }
   
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['group','ref']);       &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
                                               ['group','ref','status']); 
   
     my $gpterm  = &Apache::loncommon::group_term();      my $gpterm  = &Apache::loncommon::group_term();
     my $ucgpterm = $gpterm;      my $ucgpterm = $gpterm;
     $ucgpterm =~ s/^(\w)/uc($1)/e;        $ucgpterm =~ s/^(\w)/uc($1)/e;  
     my $crstype = &Apache::loncommon::course_type();      my $crstype = &Apache::loncommon::course_type();
     my $group;      my $group;
       my %curr_groups;
   
       # Validating group input.
       my $badinput; 
     if ((!defined($env{'form.group'})) || ($env{'form.group'} eq '')) {      if ((!defined($env{'form.group'})) || ($env{'form.group'} eq '')) {
         $r->print(&mt('No [_1] name provided',$gpterm));          $r->print(&mt('No group name provided.<br />'));
                                                                                              $badinput = 1;
     } else {      } else {
         $group = $env{'form.group'};          $group = $env{'form.group'};
         $group =~ s/\W//g;          $group =~ s/\W//g;
     }      }
     if ($group eq '') {      if (!$badinput && $group eq '') {
         $r->print(&mt('Invalid [_1] name provided',$gpterm));          $r->print(&mt('Invalid group name provided.<br />'));
           $badinput = 1;
     }      }
   
     my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
     my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};      my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
   
     if ($cdom eq '' || $cnum eq '') {      if ($cdom eq '' || $cnum eq '') {
         $r->print(&mt('Invalid [_1]',$crstype));          $r->print(&mt('Invalid [_1]<br />',$crstype));
           $badinput = 1;
     }      }
   
     my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum);      if (!$badinput) {
     if (!defined($curr_groups{$group})) {          %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum);
         $r->print(&mt('[_1] is not the name of a valid [_2] in this [_3].',          if (!defined($curr_groups{$group})) {
                       $group,$gpterm,lc($crstype)));              $r->print(&mt('"[_1]" is not the name of a valid group in this [_2].',
                             $group,lc($crstype)));
               $badinput = 1;
           }
       }
       if ($badinput) {
         return OK;          return OK;
     }       }
   
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
   
Line 119  sub handler { Line 130  sub handler {
 sub roster_header {  sub roster_header {
     my ($cdom,$cnum,$group,$description,$gpterm,$ucgpterm) = @_;      my ($cdom,$cnum,$group,$description,$gpterm,$ucgpterm) = @_;
     my $refarg;      my $refarg;
     if (exists($env{'form.ref'})) {      if (exists($env{'form.ref'}) && $env{'form.ref'} ne 'popup') {
         $refarg = 'ref='.$env{'form.ref'};          $refarg = 'ref='.$env{'form.ref'};
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>"/adm/coursegroups",              ({href=>"/adm/coursegroups",
               text=>"Groups",                text=>"Groups",
               title=>"View course groups"});                title=>"View course groups"});
     }      }
       my $args;
       if ($env{'form.ref'} eq 'popup') {
           $args = { 
                     'no_nav_bar'    => 1,
                     'no_inline_link' => 1,
                   };
       }
     my $jscript = qq|      my $jscript = qq|
 function changeSort(caller) {  function changeSort(caller) {
     document.grouproster.sortby.value = caller;      document.grouproster.sortby.value = caller;
     document.grouproster.submit();      document.grouproster.submit();
 }\n|;  }\n|;
       my $itemtitle = &mt('Group membership status - [_1]',$description);
     my $output =      my $output =
         &Apache::loncommon::start_page(&mt('[_1] Membership ',$ucgpterm),          &Apache::loncommon::start_page('Group Membership',
                                        '<script type="text/javascript">'.                                         '<script type="text/javascript">'.
                                        $jscript.'</script>');                                         $jscript.'</script>',$args);
     &Apache::lonhtmlcommon::add_breadcrumb      if ($env{'form.ref'} eq 'popup') {
         ({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg",          $output .= '<h3>'.&mt('Group membership status - [_1]',$description).
           text=>"$ucgpterm: $description",                     '</h3>';
           title=>"Go to group's home page"},      } else {
          {href=>'/adm/grouproster?group='.$group.'&amp;'.$refarg,          &Apache::lonhtmlcommon::add_breadcrumb
           text=>"Membership roster",              ({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg",
           title=>"Display group membership"},);                text=>"$ucgpterm: $description",
     $output .= &Apache::lonhtmlcommon::breadcrumbs(&mt('[_1] membership status - [_2]',$gpterm,$description));                title=>"Go to group's home page"},
                {href=>'/adm/grouproster?group='.$group.'&amp;'.$refarg,
                 text=>"Membership roster",
                 title=>"Display group membership"},);
           $output .= &Apache::lonhtmlcommon::breadcrumbs(&mt('[_1] membership status - [_2]',$gpterm,$description));
       }
     return $output;      return $output;
 }  }
   
Line 209  sub roster_table { Line 233  sub roster_table {
             $r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}.              $r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}.
                       '" />');                        '" />');
         }          }
         $r->print('</form><br /><br />');          $r->print('</form><br />');
   
     }      }
       $r->print('<br />');
     if (ref($numitems) eq 'HASH') {      if (ref($numitems) eq 'HASH') {
         foreach my $key (keys(%{$numitems})) {          foreach my $key (keys(%{$numitems})) {
             if ($status eq $key && !$$numitems{$key}) {              if ($status eq $key && !$$numitems{$key}) {
Line 225  sub roster_table { Line 250  sub roster_table {
 <form name="grouproster" action="/adm/grouproster" method="post">  <form name="grouproster" action="/adm/grouproster" method="post">
  <input type="hidden" name="group" value="'.$group.'" />   <input type="hidden" name="group" value="'.$group.'" />
  <input type="hidden" name="sortby" value="'.$env{'form.sortby'}.'" />   <input type="hidden" name="sortby" value="'.$env{'form.sortby'}.'" />
    <input type="hidden" name="status" value="'.$status.'" />
 ');  ');
     if (exists($env{'form.ref'})) {      if (exists($env{'form.ref'})) {
         $r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}.          $r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}.
Line 312  sub members_table_row { Line 338  sub members_table_row {
             my $curr_tool;              my $curr_tool;
             my $privlist;              my $privlist;
             foreach my $priv (@{$$userinfo{'privs'}}) {              foreach my $priv (@{$$userinfo{'privs'}}) {
                 unless ($curr_tool eq $$tooltype{$priv}) {                  if (defined($$tooltype{$priv})) {
                     $curr_tool = $$tooltype{$priv};                      if ($curr_tool ne $$tooltype{$priv}) {
                     $privlist .= '<b>'.$curr_tool.'</b>: ';                          $curr_tool = $$tooltype{$priv};
                           $privlist .= '<b>'.$curr_tool.'</b>: ';
                       }
                       $privlist .= $$toolprivs{$curr_tool}{$priv}.', ';
                 }                  }
                 $privlist .= $$toolprivs{$curr_tool}{$priv}.', ';  
             }              }
             $privlist =~ s/, $//;              $privlist =~ s/, $//;
             $output .= '<td>'.$privlist.'</td>';              $output .= '<td>'.$privlist.'</td>';

Removed from v.1.3  
changed lines
  Added in v.1.4


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