Diff for /loncom/interface/slotrequest.pm between versions 1.130 and 1.132

version 1.130, 2015/09/27 22:35:39 version 1.132, 2016/05/21 21:13:58
Line 1494  sub show_table { Line 1494  sub show_table {
      'allowedusers'    => 'Users slot is restricted to.',       'allowedusers'    => 'Users slot is restricted to.',
      'uniqueperiod'    => 'Period of time slot is unique',       'uniqueperiod'    => 'Period of time slot is unique',
      'scheduled'       => 'Scheduled Students',       'scheduled'       => 'Scheduled Students',
      'proctor'         => 'List of proctors');       'proctor'         => 'List of proctors',
        'iptied'          => 'Unique IP each student',);
     if ($crstype eq 'Community') {      if ($crstype eq 'Community') {
         $show_fields{'startreserve'} = &mt('Time members can start reserving');          $show_fields{'startreserve'} = &mt('Time members can start reserving');
         $show_fields{'endreserve'} = &mt('Time members can no longer reserve');          $show_fields{'endreserve'} = &mt('Time members can no longer reserve');
Line 1502  sub show_table { Line 1503  sub show_table {
     }      }
     my @show_order=('name','description','type','starttime','endtime',      my @show_order=('name','description','type','starttime','endtime',
     'startreserve','endreserve','reservationmsg','secret','space',      'startreserve','endreserve','reservationmsg','secret','space',
     'ip','symb','allowedsections','allowedusers','uniqueperiod',      'ip','iptied','symb','allowedsections','allowedusers','uniqueperiod',
     'scheduled','proctor');      'scheduled','proctor');
     my @show =       my @show = 
  (exists($env{'form.show'})) ? &Apache::loncommon::get_env_multiple('form.show')   (exists($env{'form.show'})) ? &Apache::loncommon::get_env_multiple('form.show')
Line 1834  LOGLINK Line 1835  LOGLINK
  if (exists($show{'ip'})) {   if (exists($show{'ip'})) {
     $colspan++;$r->print("<td>$slots{$slot}{'ip'}</td>\n");      $colspan++;$r->print("<td>$slots{$slot}{'ip'}</td>\n");
  }   }
           if (exists($show{'iptied'})) {
               $colspan++;
               if ($slots{$slot}{'iptied'} eq 'yes') {
                   $r->print('<td>'.&mt('Yes')."</td>\n");
               } elsif ($slots{$slot}{'iptied'} eq 'answer') {
                   $r->print('<td>'.&mt('Yes, including post-answer date')."</td>\n");
               } else {
                   $r->print('<td>'.&mt('No')."</td>\n");
               }
           }
  if (exists($show{'symb'})) {   if (exists($show{'symb'})) {
     $colspan++;$r->print("<td>".join('<br />',@titles)."</td>\n");      $colspan++;$r->print("<td>".join('<br />',@titles)."</td>\n");
  }   }
Line 2952  sub csvupload_fields { Line 2963  sub csvupload_fields {
             ['endreserve','Reservation End Time'],              ['endreserve','Reservation End Time'],
             ['reservationmsg','Message when reservation changed'],              ['reservationmsg','Message when reservation changed'],
     ['ip','IP or DNS restriction'],      ['ip','IP or DNS restriction'],
               ['iptied','Unique IP each student'],
     ['proctor','List of proctor ids'],      ['proctor','List of proctor ids'],
     ['description','Slot Description'],      ['description','Slot Description'],
     ['maxspace','Maximum number of reservations'],      ['maxspace','Maximum number of reservations'],
Line 3023  sub csv_upload_assign { Line 3035  sub csv_upload_assign {
  }   }
   
  if ($entries{$fields{'startreserve'}}) {   if ($entries{$fields{'startreserve'}}) {
     $slot{'startreserve'}=              my $date = &UnixDate($entries{$fields{'startreserve'}},"%s");
  &UnixDate($entries{$fields{'startreserve'}},"%s");              if ($date eq '') {
                   push(@errors,"$name -- No reservation start time set for slot -- value provided had invalid format");
               } else {
                   $slot{'startreserve'} = $date;
               }
  }   }
  if (defined($slot{'startreserve'})   if (defined($slot{'startreserve'})
     && $slot{'startreserve'} > $slot{'starttime'}) {      && $slot{'startreserve'} > $slot{'starttime'}) {
Line 3033  sub csv_upload_assign { Line 3049  sub csv_upload_assign {
  }   }
   
         if ($entries{$fields{'endreserve'}}) {          if ($entries{$fields{'endreserve'}}) {
             $slot{'endreserve'}=              my $date = &UnixDate($entries{$fields{'endreserve'}},"%s");
                 &UnixDate($entries{$fields{'endreserve'}},"%s");              if ($date eq '') {
                   push(@errors,"$name -- No reservation end time set for slot -- value provided had invalid format");
               } else {
                   $slot{'endreserve'} = $date;
               }
         }          }
         if (defined($slot{'endreserve'})          if (defined($slot{'endreserve'})
             && $slot{'endreserve'} > $slot{'starttime'}) {              && $slot{'endreserve'} > $slot{'starttime'}) {
Line 3062  sub csv_upload_assign { Line 3082  sub csv_upload_assign {
  $slot{$key}=$entries{$fields{$key}};   $slot{$key}=$entries{$fields{$key}};
     }      }
  }   }
           if ($entries{$fields{'iptied'}} =~ /^\s*(yes|1)\s*$/i) {
               $slot{'iptied'}='yes'; 
           } elsif ($entries{$fields{'iptied'}} =~ /^\s*answer\s*$/i) {
               $slot{'iptied'}='answer';
           }
         if ($entries{$fields{'allowedusers'}}) {          if ($entries{$fields{'allowedusers'}}) {
             $entries{$fields{'allowedusers'}} =~ s/^\s+//;              $entries{$fields{'allowedusers'}} =~ s/^\s+//;
             $entries{$fields{'allowedusers'}} =~ s/\s+$//;              $entries{$fields{'allowedusers'}} =~ s/\s+$//;
Line 3094  sub csv_upload_assign { Line 3119  sub csv_upload_assign {
             }              }
         }          }
  if ($entries{$fields{'uniqueperiod'}}) {   if ($entries{$fields{'uniqueperiod'}}) {
     my ($start,$end)=split(',',$entries{$fields{'uniqueperiod'}});              my ($start,$end)= map { &UnixDate($_,"%s"); } split(',',$entries{$fields{'uniqueperiod'}});
     my @times=(&UnixDate($start,"%s"),              if (($start ne '') && ($end ne '')) {
        &UnixDate($end,"%s"));                  $slot{'uniqueperiod'}=[$start,$end];
     $slot{'uniqueperiod'}=\@times;              } else {
                   push(@errors,"$name -- Slot's unique period ignored -- one or both of the comma separated values for start and end had an invalid format");
               }
  }   }
  if (defined($slot{'uniqueperiod'})   if (ref($slot{'uniqueperiod'}) eq 'ARRAY' 
     && $slot{'uniqueperiod'}[0] > $slot{'uniqueperiod'}[1]) {      && $slot{'uniqueperiod'}[0] > $slot{'uniqueperiod'}[1]) {
     push(@errors,"$name not created -- Slot's unique period start time is later than the unique period's end time.");      push(@errors,"$name not created -- Slot's unique period start time is later than the unique period's end time.");
     next;      next;
Line 3284  sub handler { Line 3311  sub handler {
  my ($status) = &Apache::lonhomework::check_slot_access('0',$type);   my ($status) = &Apache::lonhomework::check_slot_access('0',$type);
  if ($status eq 'CAN_ANSWER' ||   if ($status eq 'CAN_ANSWER' ||
     $status eq 'NEEDS_CHECKIN' ||      $status eq 'NEEDS_CHECKIN' ||
     $status eq 'WAITING_FOR_GRADE') {      $status eq 'WAITING_FOR_GRADE' ||
               $status eq 'NEED_DIFFERENT_IP') {
     &fail($r,'not_allowed');      &fail($r,'not_allowed');
     return OK;      return OK;
  }   }

Removed from v.1.130  
changed lines
  Added in v.1.132


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