Diff for /loncom/html/adm/helper/newslot.helper between versions 1.6 and 1.12

version 1.6, 2005/11/02 21:58:14 version 1.12, 2006/02/03 22:40:46
Line 7 Line 7
   if (exists($env{'form.name'}) ||    if (exists($env{'form.name'}) ||
       $env{'form.name'} =~ /\S/) {        $env{'form.name'} =~ /\S/) {
       $helper->{'VARS'}{'name'}=$env{'form.name'};        $helper->{'VARS'}{'name'}=$env{'form.name'};
         $helper->{VARS}{'origname'}=$env{'form.name'};
         $helper->{DATA}{copy} = 1;
   }    }
       }        }
       $helper->{DATA}{origslot} = sub {        $helper->{DATA}{origslot} = sub {
Line 17 Line 19
   }    }
   my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};    my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
   my $cdom  = $env{'course.'.$env{'request.course.id'}.'.domain'};    my $cdom  = $env{'course.'.$env{'request.course.id'}.'.domain'};
   my $name=$helper->{'VARS'}{'name'};    my $name=$helper->{VARS}{'origname'};
   my %slot=&Apache::lonnet::get('slots', [$name], $cdom, $cnum);    my %slot=&Apache::lonnet::get('slots', [$name], $cdom, $cnum);
   if (!ref($slot{$name})) { return $default; }    if (!ref($slot{$name})) { return $default; }
   if (!exists($slot{$name}{$which})) { return $default; }    if (!exists($slot{$name}{$which})) { return $default; }
Line 25 Line 27
       }        }
     </exec>      </exec>
     <message nextstate="OPTIONAL">      <message nextstate="OPTIONAL">
       <message_text>          Name: <br />&nbsp;&nbsp;&nbsp;
           Name: <br />&nbsp;&nbsp;&nbsp;  
       </message_text>  
     </message>      </message>
     <string variable="name" size="30">      <string variable="name" size="30">
       <validator>        <validator>
           if ($val=~/^\s*$/) { return 'Must specify a name'; }            if ($val=~/^\s*$/) { return 'Must specify a name'; }
           if ($val=~/\s$/) { return 'Must not contain spaces'; }            if ($val=~/\s/) { return 'Must not contain spaces'; }
             if ($val=~/\W/) { return 'Must contain only letters, numbers and _'; }
           return undef;            return undef;
       </validator>        </validator>
       <defaultvalue>        <defaultvalue>
         return $helper->{'VARS'}{'name'};          return $helper->{'VARS'}{'name'};
       </defaultvalue>        </defaultvalue>
     </string>      </string>
       <condition>
         <clause>$helper->{DATA}{copy}</clause>
         <message nextstate="OPTIONAL">
    <p>Changing the Name will create a new slot with the new name, and not rename the existing slot.</p>
         </message>
       </condition>
     <message>      <message>
       <message_text><br />Start time:<br />&nbsp;&nbsp;&nbsp;</message_text>        <br />Start time:<br />&nbsp;&nbsp;&nbsp;
     </message>      </message>
     <date variable="starttime" hoursminutes="1">      <date variable="starttime" hoursminutes="1">
       <defaultvalue>        <defaultvalue>
Line 48 Line 55
       </defaultvalue>        </defaultvalue>
     </date>      </date>
     <message>      <message>
       <message_text><br />End time:<br />&nbsp;&nbsp;&nbsp;</message_text>        <br />End time:<br />&nbsp;&nbsp;&nbsp;
     </message>      </message>
     <date variable="endtime" hoursminutes="1">      <date variable="endtime" hoursminutes="1">
       <defaultvalue>        <defaultvalue>
Line 56 Line 63
       </defaultvalue>        </defaultvalue>
     </date>      </date>
     <message>      <message>
       <message_text><br />Type:</message_text>        <br />Type:
     </message>      </message>
     <choices variable="type">      <choices variable="type">
       <choice computer='preassigned'>Instructor asssignable.</choice>        <choice computer='preassigned'>Instructor asssignable.</choice>
Line 69 Line 76
   
   <state name="OPTIONAL" title="Specify Optional Attributes">    <state name="OPTIONAL" title="Specify Optional Attributes">
     <message>      <message>
       <message_text>          <p>Description:<br />&nbsp;&nbsp;&nbsp;
           <p>Description:<br />&nbsp;&nbsp;&nbsp;  
       </message_text>  
     </message>      </message>
     <string variable="description" size="60">      <string variable="description" size="60">
       <defaultvalue>        <defaultvalue>
         return &{$helper->{DATA}{origslot}}('description');          return &{$helper->{DATA}{origslot}}('description');
       </defaultvalue>        </defaultvalue>
     </string>      </string>
       <condition>
         <clause>$helper->{'VARS'}{'type'} eq 'schedulable_student'</clause>
         <message>
           </p><p>Time students can start reserving:<br />&nbsp;&nbsp;&nbsp;
         </message>
         <date variable="startreserve" hoursminutes="1" anytime="1">
           <defaultvalue>
             return &{$helper->{DATA}{origslot}}('startreserve','anytime');
           </defaultvalue>
         </date>
         <message>
            </p><p>Maxium number of students allowed in this slot:<br />&nbsp;&nbsp;&nbsp;
         </message>
         <string variable="maxspace" size="4">
           <validator>
               if ($val ne '' && $val=~/\D/) { return 'Must be numeric.'; }
               return undef;
           </validator>
           <defaultvalue>
             return &{$helper->{DATA}{origslot}}('maxspace');
           </defaultvalue>
         </string>
         <message>
            </p><p>Period of time in which this slot is can only be uniquely chosen:<br />&nbsp;&nbsp;&nbsp;Start:
         </message>
         <date variable="startunique" hoursminutes="1" anytime="1">
           <defaultvalue>
             my $default=&{$helper->{DATA}{origslot}}('uniqueperiod','anytime');
             if ($default eq 'anytime') { return 'anytime' };
             if (ref($default)) { return $default->[0]; }
             return 'anytime';
           </defaultvalue>
         </date>
         <message><br />&nbsp;&nbsp;&nbsp;End: </message>
         <date variable="endunique" hoursminutes="1" anytime="1">
           <defaultvalue>
             my $default=&{$helper->{DATA}{origslot}}('uniqueperiod','anytime');
             if ($default eq 'anytime') { return 'anytime' };
             if (ref($default)) { return $default->[1]; }
             return 'anytime';
           </defaultvalue>
         </date>
       </condition>
       <condition>
         <clause>$helper->{'VARS'}{'type'} eq 'preassigned'</clause>
         <exec>
           delete($helper->{'VARS'}{'startreserve'});
           delete($helper->{'VARS'}{'maxspace'});
           delete($helper->{'VARS'}{'startunique'});
           delete($helper->{'VARS'}{'endunique'});
         </exec>
       </condition>
     <message>      <message>
       <message_text>        </p><p>Secret word proctors use to checkin users:<br />&nbsp;&nbsp;&nbsp;
           </p><p>Time students can start reserving:<br />&nbsp;&nbsp;&nbsp;  
       </message_text>  
     </message>  
     <date variable="startreserve" hoursminutes="1" anytime="1">  
       <defaultvalue>  
         return &{$helper->{DATA}{origslot}}('startreserve','anytime');  
       </defaultvalue>  
     </date>  
     <message>  
       <message_text>  
           </p><p>Maxium number of students allowed in this slot:<br />&nbsp;&nbsp;&nbsp;  
       </message_text>  
     </message>  
     <string variable="maxspace" size="4">  
       <validator>  
           if ($val ne '' && $val=~/\D/) { return 'Must be numeric.'; }  
           return undef;  
       </validator>  
       <defaultvalue>  
         return &{$helper->{DATA}{origslot}}('maxspace');  
       </defaultvalue>  
     </string>  
     <message>  
       <message_text>  
           </p><p>Secret word proctors use to checkin users:<br />&nbsp;&nbsp;&nbsp;  
       </message_text>  
     </message>      </message>
     <string variable="secret" size="12">      <string variable="secret" size="12">
       <validator>        <validator>
Line 116 Line 147
       </defaultvalue>        </defaultvalue>
     </string>      </string>
     <message>      <message>
       <message_text>        </p><p>Slot is:
           </p><p>Period of time in which this slot is can only be uniquely chosen:<br />&nbsp;&nbsp;&nbsp;Start:  
       </message_text>  
     </message>  
     <date variable="startunique" hoursminutes="1" anytime="1">  
       <defaultvalue>  
         my $default=&{$helper->{DATA}{origslot}}('uniqueperiod','anytime');  
         if ($default eq 'anytime') { return 'anytime' };  
         if (ref($default)) { return $default->[0]; }  
         return 'anytime';  
       </defaultvalue>  
     </date>  
     <message><message_text><br />&nbsp;&nbsp;&nbsp;End: </message_text></message>  
     <date variable="endunique" hoursminutes="1" anytime="1">  
       <defaultvalue>  
         my $default=&{$helper->{DATA}{origslot}}('uniqueperiod','anytime');  
         if ($default eq 'anytime') { return 'anytime' };  
         if (ref($default)) { return $default->[1]; }  
         return 'anytime';  
       </defaultvalue>  
     </date>  
     <message>  
       <message_text>  
           </p><p>Slot is:  
       </message_text>  
     </message>      </message>
     <choices variable="restricttosymb">      <choices variable="restricttosymb">
       <choice nextstate="PROCTOR" computer='any'>usable for any resource.</choice>        <choice nextstate="PROCTOR" computer='any'>usable for any resource.</choice>
Line 152 Line 159
       </defaultvalue>        </defaultvalue>
     </choices>      </choices>
     <message>      <message>
       <message_text>          
  </p><p>IP restrictions:<br />&nbsp;&nbsp;&nbsp;   </p><p>IP restrictions:<br />&nbsp;&nbsp;&nbsp;
       </message_text>        
     </message>      </message>
     <string variable="ip" size="30">      <string variable="ip" size="30">
       <validator>        <validator>
Line 164 Line 171
         return &{$helper->{DATA}{origslot}}('ip');          return &{$helper->{DATA}{origslot}}('ip');
       </defaultvalue>        </defaultvalue>
     </string>      </string>
     <message> <message_text> </p> </message_text> </message>      <message>  </p>  </message>
   </state>    </state>
   <state name="RESOURCESELECT" title="Specify Optional Attributes">    <state name="RESOURCESELECT" title="Specify Optional Attributes">
     <resource variable="symb">      <resource variable="symb">
Line 191 Line 198
     </student>      </student>
   </state>    </state>
   <state name="FINISH" title="Creating/Modfying Slot">    <state name="FINISH" title="Creating/Modfying Slot">
     <message> <message_text> Created Slot </message_text> </message>      <message> Created Slot  </message>
     <final>      <final>
       <finalcode>        <finalcode>
         my $result;          my $result;
Line 206 Line 213
  $slot{$which} = $helper->{'VARS'}{$which};   $slot{$which} = $helper->{'VARS'}{$which};
     }      }
  }   }
    if ( $helper->{'VARS'}{'startreserve'} > 0) {
    $slot{'startreserve'} = $helper->{'VARS'}{'startreserve'};
    }
  if ( $helper->{'VARS'}{'startunique'} > 0 &&   if ( $helper->{'VARS'}{'startunique'} > 0 &&
      $helper->{'VARS'}{'endunique'} > 0 ) {       $helper->{'VARS'}{'endunique'} > 0 ) {
     $slot{'uniqueperiod'} = [$helper->{'VARS'}{'startunique'},      $slot{'uniqueperiod'} = [$helper->{'VARS'}{'startunique'},
Line 217 Line 227
  my ($uname,$udomain)=split(/:/,$user);   my ($uname,$udomain)=split(/:/,$user);
  push(@names,"$uname\@$udomain");   push(@names,"$uname\@$udomain");
     }      }
     $slot{'proctor'}=join(',',@names);      # make sure the usenrmaes are unique
       my %proctors = map { ($_,1) } @names;
       $slot{'proctor'}=join(',',sort(keys(%proctors)));
  }   }
         my $cname = $env{'course.'.$env{'request.course.id'}.'.num'};          my $cname = $env{'course.'.$env{'request.course.id'}.'.num'};
         my $cdom  = $env{'course.'.$env{'request.course.id'}.'.domain'};          my $cdom  = $env{'course.'.$env{'request.course.id'}.'.domain'};
Line 237 Line 249
     &HTML::Entities::encode($slot{$which}).'</li>';      &HTML::Entities::encode($slot{$which}).'</li>';
     }      }
  }   }
    if (exists($slot{'startreserve'})) {
       $result.="\n".'<li> '.$labels{'startreserve'}.': '.
       &Apache::lonlocal::locallocaltime($slot{'startreserve'}).'</li>';
    }
         if (exists($slot{'proctor'})) {          if (exists($slot{'proctor'})) {
     my $proctors = $slot{'proctor'};      my $proctors = $slot{'proctor'};
     $proctors =~ s/,/, /g;      $proctors =~ s/,/, /g;

Removed from v.1.6  
changed lines
  Added in v.1.12


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