Diff for /loncom/interface/slotrequest.pm between versions 1.53 and 1.54

version 1.53, 2006/03/21 16:03:19 version 1.54, 2006/03/30 04:34:32
Line 678  STUFF Line 678  STUFF
 }  }
   
 sub to_show {  sub to_show {
     my ($slot,$when,$deleted) = @_;      my ($slotname,$slot,$when,$deleted,$name) = @_;
     my $time=time;      my $time=time;
     my $week=60*60*24*7;      my $week=60*60*24*7;
   
     if ($deleted eq 'hide' && $slot->{'type'} eq 'deleted') {      if ($deleted eq 'hide' && $slot->{'type'} eq 'deleted') {
  return 0;   return 0;
     }      }
   
       if ($name && $name->{'value'} =~ /\w/) {
    if ($name->{'type'} eq 'substring') {
       if ($slotname !~ /\Q$name->{'value'}\E/) {
    return 0;
       }
    }
    if ($name->{'type'} eq 'exact') {
       if ($slotname eq $name->{'value'}) {
    return 0;
       }
    }
       }
   
     if ($when eq 'any') {      if ($when eq 'any') {
  return 1;   return 1;
     } elsif ($when eq 'now') {      } elsif ($when eq 'now') {
Line 764  sub show_table { Line 779  sub show_table {
  $r->print('</div>');   $r->print('</div>');
     }      }
           
     my %Saveable_Parameters = ('show'    => 'array',      my %Saveable_Parameters = ('show'              => 'array',
        'when'    => 'scalar',         'when'              => 'scalar',
        'order'   => 'scalar',         'order'             => 'scalar',
        'deleted' => 'scalar',         'deleted'           => 'scalar',
          'name_filter_type'  => 'scalar',
          'name_filter_value' => 'scalar',
        );         );
     &Apache::loncommon::store_course_settings('slotrequest',      &Apache::loncommon::store_course_settings('slotrequest',
       \%Saveable_Parameters);        \%Saveable_Parameters);
Line 777  sub show_table { Line 794  sub show_table {
     my ($classlist,$section,$fullname)=&Apache::grades::getclasslist('all');      my ($classlist,$section,$fullname)=&Apache::grades::getclasslist('all');
     &Apache::grades::reset_perm();      &Apache::grades::reset_perm();
   
       # what to display filtering
     my %show_fields=&Apache::lonlocal::texthash(      my %show_fields=&Apache::lonlocal::texthash(
      'name'            => 'Slot Name',       'name'            => 'Slot Name',
      'description'     => 'Description',       'description'     => 'Description',
Line 802  sub show_table { Line 820  sub show_table {
                             : keys(%show_fields);                              : keys(%show_fields);
     my %show =  map { $_ => 1 } (@show);      my %show =  map { $_ => 1 } (@show);
   
       #when filtering setup
     my %when_fields=&Apache::lonlocal::texthash(      my %when_fields=&Apache::lonlocal::texthash(
      'now'      => 'Open now',       'now'      => 'Open now',
      'nextweek' => 'Open within the next week',       'nextweek' => 'Open within the next week',
Line 815  sub show_table { Line 834  sub show_table {
     my $when = (exists($env{'form.when'})) ? $env{'form.when'}      my $when = (exists($env{'form.when'})) ? $env{'form.when'}
                                             : 'now';                                              : 'now';
   
       #display of students setup
     my %stu_display_fields=      my %stu_display_fields=
  &Apache::lonlocal::texthash('username' => 'User name',   &Apache::lonlocal::texthash('username' => 'User name',
     'fullname' => 'Full name',      'fullname' => 'Full name',
Line 825  sub show_table { Line 845  sub show_table {
                                   : keys(%stu_display_fields);                                    : keys(%stu_display_fields);
     my %stu_display =  map { $_ => 1 } (@stu_display);      my %stu_display =  map { $_ => 1 } (@stu_display);
   
       #name filtering setup
       my %name_filter_type_fields=
    &Apache::lonlocal::texthash('substring' => 'Substring',
       'exact'     => 'Exact',
       #'reg'       => 'Regular Expression',
       );
       my @name_filter_type_order=('substring','exact');
   
       $name_filter_type_fields{'select_form_order'} = \@name_filter_type_order;
       my $name_filter_type = 
    (exists($env{'form.name_filter_type'})) ? $env{'form.name_filter_type'}
                                                   : 'substring';
       my $name_filter = {'type'  => $name_filter_type,
          'value' => $env{'form.name_filter_value'},};
   
       #deleted slot filtering
     my $hide_radio =       my $hide_radio = 
  &Apache::lonhtmlcommon::radio('deleted',$env{'form.deleted'},'hide');   &Apache::lonhtmlcommon::radio('deleted',$env{'form.deleted'},'hide');
     my $show_radio =       my $show_radio = 
Line 837  sub show_table { Line 873  sub show_table {
       <tr><th>'.&mt('Show').'</th>        <tr><th>'.&mt('Show').'</th>
           <th>'.&mt('Student Display').'</th>            <th>'.&mt('Student Display').'</th>
           <th>'.&mt('Open').'</th>            <th>'.&mt('Open').'</th>
             <th>'.&mt('Slot Name Filter').'</th>
           <th>'.&mt('Options').'</th>            <th>'.&mt('Options').'</th>
       </tr>        </tr>
       <tr><td>'.&Apache::loncommon::multiple_select_form('show',\@show,6,\%show_fields,\@show_order).        <tr><td>'.&Apache::loncommon::multiple_select_form('show',\@show,6,\%show_fields,\@show_order).
Line 848  sub show_table { Line 885  sub show_table {
            </td>             </td>
            <td>'.&Apache::loncommon::select_form($when,'when',%when_fields).             <td>'.&Apache::loncommon::select_form($when,'when',%when_fields).
           '</td>            '</td>
              <td>'.&Apache::loncommon::select_form($name_filter_type,
    'name_filter_type',
    %name_filter_type_fields).
         '<br />'.
         &Apache::lonhtmlcommon::textbox('name_filter_value',
         $env{'form.name_filter_value'},
         15).
             '</td>
            <td>             <td>
             <table>              <table>
               <tr>                <tr>
Line 901  sub show_table { Line 946  sub show_table {
  return $slots{$a}->{'starttime'} <=> $slots{$b}->{'starttime'};   return $slots{$a}->{'starttime'} <=> $slots{$b}->{'starttime'};
     };      };
     foreach my $slot (sort $slotsort (keys(%slots)))  {      foreach my $slot (sort $slotsort (keys(%slots)))  {
  if (!&to_show($slots{$slot},$when,$env{'form.deleted'})) { next; }   if (!&to_show($slot,$slots{$slot},$when,
         $env{'form.deleted'},$name_filter)) { next; }
  if (defined($slots{$slot}->{'type'})   if (defined($slots{$slot}->{'type'})
     && $slots{$slot}->{'type'} ne 'schedulable_student') {      && $slots{$slot}->{'type'} ne 'schedulable_student') {
     #next;      #next;
Line 913  sub show_table { Line 959  sub show_table {
        "^$slot\0");         "^$slot\0");
     my ($tmp)=%consumed;      my ($tmp)=%consumed;
     if ($tmp !~ /^error: /) {      if ($tmp !~ /^error: /) {
  foreach my $entry (sort(keys(%consumed))) {   foreach my $entry (sort { $consumed{$a}{name} cmp 
         $consumed{$b}{name} }
      (keys(%consumed))) {
     my (undef,$id)=split("\0",$entry);      my (undef,$id)=split("\0",$entry);
     my ($uname,$udom) = split('@',$consumed{$entry}{'name'});      my ($uname,$udom) = split('@',$consumed{$entry}{'name'});
     $ids.= '<nobr>';      $ids.= '<nobr>';

Removed from v.1.53  
changed lines
  Added in v.1.54


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