Diff for /loncom/interface/lonpickstudent.pm between versions 1.9 and 1.19

version 1.9, 2005/04/07 06:56:23 version 1.19, 2006/06/02 13:58:31
Line 34  use Apache::loncommon; Line 34  use Apache::loncommon;
 use Apache::loncoursedata;  use Apache::loncoursedata;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::lonlocal;  use Apache::lonlocal;
   use Apache::longroup;
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
Line 42  sub handler { Line 43  sub handler {
     return OK if $r->header_only;      return OK if $r->header_only;
   
 # ------------------------------------------------------------ Print the screen  # ------------------------------------------------------------ Print the screen
     my $html=&Apache::lonxml::xmlbegin();      $r->print(&Apache::loncommon::start_page("Selecting a User",undef,
     $r->print(<<ENDDOCUMENT);       {'no_nav_bar' => 1}));
 $html  
 <head>  
 <title>The LearningOnline Network with CAPA</title>  
 </head>  
 ENDDOCUMENT  
   
   
   
   
     &Apache::loncommon::get_unprocessed_cgi      &Apache::loncommon::get_unprocessed_cgi
         ($ENV{'QUERY_STRING'},['filter','form','unameelement','udomelement',          ($ENV{'QUERY_STRING'},['filter','form','unameelement','udomelement',
        'roles']);         'roles']);
 # Allowed?  # Allowed?
       my $allowed;
       my $scope = $env{'request.course.id'};
       if (!($allowed = &Apache::lonnet::allowed('srm',$scope))) {
    $scope .= '/'.$env{'request.course.sec'};
    $allowed = &Apache::lonnet::allowed('srm',$scope);
    if ($allowed) { $allowed = 'section'; }
       }
   
     unless (($env{'form.roles'}) ||      unless (($env{'form.roles'}) ||
             (($env{'request.course.id'}) &&               (($env{'request.course.id'}) && ($allowed))) {
              (&Apache::lonnet::allowed('srm',$env{'request.course.id'})))) {   $r->print(&mt('No context.').
  $r->print('<body>No context.</body>');    &Apache::loncommon::end_page());
         return OK;          return OK;
     }      }
   
Line 71  ENDDOCUMENT Line 72  ENDDOCUMENT
     $filter=~s/\W//g;      $filter=~s/\W//g;
     unless ($filter) { $filter='.'; }      unless ($filter) { $filter='.'; }
   
       my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
       my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
     my $classlist=&Apache::loncoursedata::get_classlist();      my $classlist=&Apache::loncoursedata::get_classlist();
              my %grouplist=&Apache::lonnet::get_group_membership($cdom,$cnum);
       my $now = time;
       my %allgroups = &Apache::longroup::coursegroups($cdom,$cnum);
   
 # --------------------------------------- There is such a user, get environment  # --------------------------------------- There is such a user, get environment
   
     $r->print(&Apache::loncommon::bodytag("Selecting a User"));  
     $r->print(<<ENDSCRIPT);      $r->print(<<ENDSCRIPT);
 <script>  <script>
 function gochoose(uname,udom) {  function gochoose(uname,udom) {
Line 91  function gochoose(uname,udom) { Line 96  function gochoose(uname,udom) {
 ENDSCRIPT  ENDSCRIPT
           
   $r->print('<form>');    $r->print('<form>');
   if ((&Apache::lonnet::allowed('srm',$env{'request.course.id'})) &&    if ($allowed && (!$env{'form.roles'})) {
       (!$env{'form.roles'})) {  
 # -------------------------------------------------------- Get course personnel  # -------------------------------------------------------- Get course personnel
     $r->print('<h3>'.$env{'course.'.$env{'request.course.id'}.'.description'}.      $r->print('<h3>'.$env{'course.'.$env{'request.course.id'}.'.description'}.
               '</h3>');                '</h3>');
Line 102  ENDSCRIPT Line 106  ENDSCRIPT
     foreach my $role (sort keys %coursepersonnel) {      foreach my $role (sort keys %coursepersonnel) {
        foreach (split(/\,/,$coursepersonnel{$role})) {         foreach (split(/\,/,$coursepersonnel{$role})) {
    my ($puname,$pudom)=split(/\:/,$_);     my ($puname,$pudom)=split(/\:/,$_);
              $role = &Apache::lonnet::plaintext($role,
                                               &Apache::loncommon::course_type());
    $r->print('<tr><td>'.     $r->print('<tr><td>'.
              '<input type="button" value="Select" onClick="gochoose('.               '<input type="button" value="Select" onClick="gochoose('.
              "'".$puname."','".$pudom."')".'" /></td><td>'.$role.'</td><td>'.               "'".$puname."','".$pudom."')".'" /></td><td>'.$role.'</td><td>'.
Line 114  ENDSCRIPT Line 120  ENDSCRIPT
     if ($filter ne '.') {      if ($filter ne '.') {
        $r->print('<br/ >'.&mt('Name starting with').' "'.$filter.'"<br />');         $r->print('<br/ >'.&mt('Name starting with').' "'.$filter.'"<br />');
     }      }
     $r->print('</p><p><table>');      $r->print('</p><p><table><tr><th>&nbsp;</th><th>username</th><th>domain</th><th>Name</th><th>ID</th><th>section</th><th>active group(s)</th></tr>');
   # ------------------------------------------------------------------ Students    # ------------------------------------------------------------------ Students
     foreach (sort keys %$classlist) {      foreach (sort keys %$classlist) {
         # the following undefs are for 'domain', and 'username' respectively.          # the following undefs are for 'domain', and 'username' respectively.
  my (undef,undef,$end,$start,$id,$section,$fullname,$status)=   my (undef,undef,$end,$start,$id,$section,$fullname,$status)=
             @{$classlist->{$_}};              @{$classlist->{$_}};
    if ($allowed eq 'section' && $section ne $env{'request.course.sec'}) {
       next;
    }
         if ($_=~/^(\w+)\:(\w+)$/) {          if ($_=~/^(\w+)\:(\w+)$/) {
     my ($uname,$udom)=($1,$2);      my ($uname,$udom)=($1,$2);
     if (($uname=~/^$filter/) ||       if (($uname=~/^$filter/) || 
                 ($fullname=~/^$filter/i)) {                  ($fullname=~/^$filter/i)) {
                  my $grouplist = '';
                  foreach my $group (sort(keys(%allgroups))) {
                      if (exists($grouplist{$group.':'.$uname.':'.$udom})) {
                          my ($end,$start) = split(/:/,$grouplist{$group.':'.$uname.':'.$udom});
                          if (($end!=0) && ($end<$now)) { next; }
                          if (($start!=0) && ($start>$now)) {next; }
                          $grouplist .= " $group,"; 
                      }
                  }
                  $grouplist =~ s/,$//;
        $r->print('<tr><td>'.         $r->print('<tr><td>'.
                       '<input type="button" value="'.&mt('Select').'" onClick="gochoose('.                        '<input type="button" value="'.&mt('Select').'" onClick="gochoose('.
                       "'".$uname."','".$udom."')".'" /></td>'.                        "'".$uname."','".$udom."')".'" /></td>'.
Line 132  ENDSCRIPT Line 151  ENDSCRIPT
                          &Apache::loncommon::aboutmewrapper(                           &Apache::loncommon::aboutmewrapper(
                          $fullname,                           $fullname,
                          $uname,$udom).'</td><td>'.$id.'</td><td>'.$section.                           $uname,$udom).'</td><td>'.$id.'</td><td>'.$section.
                                        '</td></tr>');                                         '</td><td>'.$grouplist.'</td></tr>');
    }     }
         }          }
     }      }
Line 168  ENDSCRIPT Line 187  ENDSCRIPT
     }      }
     $r->print('</table></p>');      $r->print('</table></p>');
   }    }
   $r->print('</form></body></html>');    $r->print('</form>'.&Apache::loncommon::end_page());
   return OK;    return OK;
 }   } 
   

Removed from v.1.9  
changed lines
  Added in v.1.19


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