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

version 1.1, 2006/07/02 18:01:47 version 1.3, 2006/07/17 15:07:26
Line 31  use Apache::loncommon; Line 31  use Apache::loncommon;
 use Apache::lonhtmlcommon;  use Apache::lonhtmlcommon;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::longroup;  use Apache::longroup;
   use LONCAPA;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
 use lib '/home/httpd/lib/perl/';  use lib '/home/httpd/lib/perl/';
   
Line 51  sub handler { Line 52  sub handler {
         return HTTP_NOT_ACCEPTABLE;          return HTTP_NOT_ACCEPTABLE;
     }      }
   
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['group']);       &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['group','ref']); 
   
     my $gpterm  = &Apache::loncommon::group_term();      my $gpterm  = &Apache::loncommon::group_term();
     my $ucgpterm = $gpterm;      my $ucgpterm = $gpterm;
Line 77  sub handler { Line 78  sub handler {
         $r->print(&mt('Invalid [_1]',$crstype));          $r->print(&mt('Invalid [_1]',$crstype));
     }      }
   
     my @coursegroups = split(/:/,$env{'request.course.groups'});      my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum);
     if ((@coursegroups == 0) || ((@coursegroups > 0) &&       if (!defined($curr_groups{$group})) {
                                  (!(grep/^\Q$group\E$/,@coursegroups)))) {  
         $r->print(&mt('[_1] is not the name of a valid [_2] in this [_3].',          $r->print(&mt('[_1] is not the name of a valid [_2] in this [_3].',
                       $group,$gpterm,lc($crstype)));                        $group,$gpterm,lc($crstype)));
           return OK;
     }       } 
   
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
Line 90  sub handler { Line 91  sub handler {
                                             '/'.$group);                                              '/'.$group);
     my $view_details = &Apache::lonnet::allowed('vmd',$env{'request.course.id'}.'/'.$group);      my $view_details = &Apache::lonnet::allowed('vmd',$env{'request.course.id'}.'/'.$group);
   
     my $viewgrps = &Apache::lonnet::allowed('vcg',$env{'request.course.id'});      my $viewgrps = &Apache::lonnet::allowed('vcg',$env{'request.course.id'}.($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''));
     my $editgrps = &Apache::lonnet::allowed('mdg',$env{'request.course.id'});      my $editgrps = &Apache::lonnet::allowed('mdg',$env{'request.course.id'});
   
     if ((!$can_view) && (!$view_details) && (!$viewgrps) && (!$editgrps)) {      if ((!$can_view) && (!$view_details) && (!$viewgrps) && (!$editgrps)) {
         $r->print(&mt('You do not have privileges to view the membership roster in this [_1]',$gpterm));          $r->print(&mt('You do not have privileges to view the membership roster in this [_1]',$gpterm));
         return OK;          return OK;
     }      }
     my %coursegroups = &Apache::longroup::coursegroups($cdom,$cnum,$group);      my %content = &Apache::longroup::get_group_settings($curr_groups{$group});
     my %content = &Apache::longroup::get_group_settings($coursegroups{$group});  
     my $description = &unescape($content{'description'});      my $description = &unescape($content{'description'});
     $r->print(&roster_header($cdom,$cnum,$group,$description,$gpterm,$ucgpterm));      $r->print(&roster_header($cdom,$cnum,$group,$description,$gpterm,$ucgpterm));
   
Line 118  sub handler { Line 118  sub handler {
   
 sub roster_header {  sub roster_header {
     my ($cdom,$cnum,$group,$description,$gpterm,$ucgpterm) = @_;      my ($cdom,$cnum,$group,$description,$gpterm,$ucgpterm) = @_;
       my $refarg;
       if (exists($env{'form.ref'})) {
           $refarg = 'ref='.$env{'form.ref'};
           &Apache::lonhtmlcommon::add_breadcrumb
               ({href=>"/adm/coursegroups",
                 text=>"Groups",
                 title=>"View course groups"});
       }
     my $jscript = qq|      my $jscript = qq|
 function changeSort(caller) {  function changeSort(caller) {
     document.grouproster.sortby.value = caller;      document.grouproster.sortby.value = caller;
Line 128  function changeSort(caller) { Line 136  function changeSort(caller) {
                                        '<script type="text/javascript">'.                                         '<script type="text/javascript">'.
                                        $jscript.'</script>');                                         $jscript.'</script>');
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
         ({href=>"/adm/$cdom/$cnum/$group/grppg",          ({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg",
           text=>"$ucgpterm: $description",            text=>"$ucgpterm: $description",
           title=>"Go to group's home page"},            title=>"Go to group's home page"},
          {href=>"/adm/grouproster?group=$group",           {href=>'/adm/grouproster?group='.$group.'&amp;'.$refarg,
           text=>"Membership roster",            text=>"Membership roster",
           title=>"Display group membership"},);            title=>"Display group membership"},);
     $output .= &Apache::lonhtmlcommon::breadcrumbs(&mt('[_1] membership status - [_2]',$gpterm,$description));      $output .= &Apache::lonhtmlcommon::breadcrumbs(&mt('[_1] membership status - [_2]',$gpterm,$description));
Line 144  sub roster_table { Line 152  sub roster_table {
   
     my $fixedprivs = &Apache::longroup::get_fixed_privs();      my $fixedprivs = &Apache::longroup::get_fixed_privs();
   
     my ($memberinfo,$hastools,$addtools,$numitems) =       my ($memberinfo,$numitems,$hastools,$addtools) = 
         &Apache::longroup::group_memberlist($cdom,$cnum,$group,$fixedprivs,          &Apache::longroup::group_memberlist($cdom,$cnum,$group,$fixedprivs,
                                             $available);                                              $available);
     my (%tooltype,$toolprivs);      my (%tooltype,$toolprivs);
Line 196  sub roster_table { Line 204  sub roster_table {
                   '<input type="submit" name="statusbutton" value="'.                    '<input type="submit" name="statusbutton" value="'.
                   $lt{'updi'}.'"><input type="hidden" name="sortby" value="'.                    $lt{'updi'}.'"><input type="hidden" name="sortby" value="'.
                   $env{'form.sortby'}.'"/>'.                    $env{'form.sortby'}.'"/>'.
                   '<input type="hidden" name="group" value="'.$group.                    '<input type="hidden" name="group" value="'.$group.'"/>');
                   '"/></form><br /><br />');          if (exists($env{'form.ref'})) {
               $r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}.
                         '" />');
           }
           $r->print('</form><br /><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}) {
                 $r->print(&mt('There are no [_1] members to display in this [_2]',                  $r->print(&mt('There are no [_1]s to display in this [_2].',
                               $key,$gpterm));                                lc($lt{$key}),$gpterm));
                 return;                  return;
             }              }
         }          }
Line 214  sub roster_table { Line 226  sub roster_table {
  <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'}.'" />
 ');  ');
       if (exists($env{'form.ref'})) {
           $r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}.
                     '" />');
       }
     my %Sortby = ();      my %Sortby = ();
     my $usercount = 0;      my $usercount = 0;
     foreach my $user (sort(keys(%{$memberinfo}))) {      foreach my $user (sort(keys(%{$memberinfo}))) {

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


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