Diff for /loncom/html/adm/helper/newslot.helper between versions 1.3 and 1.5

version 1.3, 2005/10/14 22:17:33 version 1.5, 2005/10/17 21:19:30
Line 1 Line 1
 <helper title="Slot Creation" requiredpriv="mgq">  <helper title="Slot Creation" requiredpriv="mgq">
   <state name="START" title="Specify Required Attributes">    <state name="START" title="Specify Required Attributes">
       <exec>
         if (!exists($helper->{'VARS'}{'name'}) ||
     $helper->{'VARS'}{'name'} !~ /\S/) {
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});
     if (exists($env{'form.name'}) ||
         $env{'form.name'} =~ /\S/) {
         $helper->{'VARS'}{'name'}=$env{'form.name'};
     }
         }
         $helper->{DATA}{origslot} = sub {
     my ($which,$default)=@_;
     if (!exists($helper->{'VARS'}{'name'}) ||
         $helper->{'VARS'}{'name'} !~ /\S/) {
         return $default;
     }
     my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
     my $cdom  = $env{'course.'.$env{'request.course.id'}.'.domain'};
     my $name=$helper->{'VARS'}{'name'};
     my %slot=&Apache::lonnet::get('slots', [$name], $cdom, $cnum);
     if (!ref($slot{$name})) { return $default; }
     if (!exists($slot{$name}{$which})) { return $default; }
     return $slot{$name}{$which};
         }
       </exec>
     <message nextstate="OPTIONAL">      <message nextstate="OPTIONAL">
       <message_text>        <message_text>
           Name: <br />&nbsp;&nbsp;&nbsp;            Name: <br />&nbsp;&nbsp;&nbsp;
Line 11 Line 35
           if ($val=~/\s$/) { return 'Must not contain spaces'; }            if ($val=~/\s$/) { return 'Must not contain spaces'; }
           return undef;            return undef;
       </validator>        </validator>
         <defaultvalue>
           return $helper->{'VARS'}{'name'};
         </defaultvalue>
     </string>      </string>
     <message>      <message>
       <message_text><br />Start time:<br />&nbsp;&nbsp;&nbsp;</message_text>        <message_text><br />Start time:<br />&nbsp;&nbsp;&nbsp;</message_text>
     </message>      </message>
     <date variable="starttime" hoursminutes="1"></date>      <date variable="starttime" hoursminutes="1">
         <defaultvalue>
           return &{$helper->{DATA}{origslot}}('starttime');
         </defaultvalue>
       </date>
     <message>      <message>
       <message_text><br />End time:<br />&nbsp;&nbsp;&nbsp;</message_text>        <message_text><br />End time:<br />&nbsp;&nbsp;&nbsp;</message_text>
     </message>      </message>
     <date variable="endtime" hoursminutes="1"></date>      <date variable="endtime" hoursminutes="1">
         <defaultvalue>
           return &{$helper->{DATA}{origslot}}('endtime');
         </defaultvalue>
       </date>
     <message>      <message>
       <message_text><br />Type:</message_text>        <message_text><br />Type:</message_text>
     </message>      </message>
     <choices variable="type">      <choices variable="type">
       <choice computer='preassigned'>Instructor asssignable.</choice>        <choice computer='preassigned'>Instructor asssignable.</choice>
       <choice computer='student_schedulable'>Student selectable.</choice>        <choice computer='schedulable_student'>Student selectable.</choice>
       <defaultvalue>        <defaultvalue>
          return 'preassigned';          return &{$helper->{DATA}{origslot}}('type','preassigned');
       </defaultvalue>        </defaultvalue>
     </choices>      </choices>
   </state>    </state>
Line 38 Line 73
           <p>Description:<br />&nbsp;&nbsp;&nbsp;            <p>Description:<br />&nbsp;&nbsp;&nbsp;
       </message_text>        </message_text>
     </message>      </message>
     <string variable="description" size="60"></string>      <string variable="description" size="60">
         <defaultvalue>
           return &{$helper->{DATA}{origslot}}('description');
         </defaultvalue>
       </string>
     <message>      <message>
       <message_text>        <message_text>
           </p><p>Time students can start reserving:<br />&nbsp;&nbsp;&nbsp;            </p><p>Time students can start reserving:<br />&nbsp;&nbsp;&nbsp;
       </message_text>        </message_text>
     </message>      </message>
     <date variable="startreserve" hoursminutes="1" anytime="1">      <date variable="startreserve" hoursminutes="1" anytime="1">
  <defaultvalue>'anytime'</defaultvalue>        <defaultvalue>
           return &{$helper->{DATA}{origslot}}('startreserve','anytime');
         </defaultvalue>
     </date>      </date>
     <message>      <message>
       <message_text>        <message_text>
Line 57 Line 98
           if ($val ne '' && $val=~/\D/) { return 'Must be numeric.'; }            if ($val ne '' && $val=~/\D/) { return 'Must be numeric.'; }
           return undef;            return undef;
       </validator>        </validator>
         <defaultvalue>
           return &{$helper->{DATA}{origslot}}('maxspace');
         </defaultvalue>
     </string>      </string>
     <message>      <message>
       <message_text>        <message_text>
Line 67 Line 111
       <validator>        <validator>
           return undef;            return undef;
       </validator>        </validator>
         <defaultvalue>
           return &{$helper->{DATA}{origslot}}('secret');
         </defaultvalue>
     </string>      </string>
     <message>      <message>
       <message_text>        <message_text>
Line 74 Line 121
       </message_text>        </message_text>
     </message>      </message>
     <date variable="startunique" hoursminutes="1" anytime="1">      <date variable="startunique" hoursminutes="1" anytime="1">
  <defaultvalue>'anytime'</defaultvalue>        <defaultvalue>
           my $default=&{$helper->{DATA}{origslot}}('uniqueperiod','anytime');
           if ($default eq 'anytime') { return 'anytime' };
           if (ref($default)) { return $default->[0]; }
           return 'anytime';
         </defaultvalue>
     </date>      </date>
     <message><message_text><br />&nbsp;&nbsp;&nbsp;End: </message_text></message>      <message><message_text><br />&nbsp;&nbsp;&nbsp;End: </message_text></message>
     <date variable="endunique" hoursminutes="1" anytime="1">      <date variable="endunique" hoursminutes="1" anytime="1">
  <defaultvalue>'anytime'</defaultvalue>        <defaultvalue>
           my $default=&{$helper->{DATA}{origslot}}('uniqueperiod','anytime');
           if ($default eq 'anytime') { return 'anytime' };
           if (ref($default)) { return $default->[1]; }
           return 'anytime';
         </defaultvalue>
     </date>      </date>
     <message>      <message>
       <message_text>        <message_text>
Line 86 Line 143
       </message_text>        </message_text>
     </message>      </message>
     <choices variable="restricttosymb">      <choices variable="restricttosymb">
       <choice nextstate="FINISH" computer='any'>usable for any resource.</choice>        <choice nextstate="PROCTOR" computer='any'>usable for any resource.</choice>
       <choice nextstate="RESOURCESELECT" computer='resource'>restricted to a specific resource.</choice>        <choice nextstate="RESOURCESELECT" computer='resource'>restricted to a specific resource.</choice>
       <defaultvalue>'any'</defaultvalue>        <defaultvalue>
           my $default=&{$helper->{DATA}{origslot}}('symb');
           if ($default) { return 'resource'; }
           return 'any';
         </defaultvalue>
     </choices>      </choices>
     <message>      <message>
       <message_text>         <message_text> 
Line 99 Line 160
       <validator>        <validator>
           return undef;            return undef;
       </validator>        </validator>
         <defaultvalue>
           return &{$helper->{DATA}{origslot}}('ip');
         </defaultvalue>
     </string>      </string>
     <message> <message_text> </p> </message_text> </message>      <message> <message_text> </p> </message_text> </message>
   </state>    </state>
Line 106 Line 170
     <resource variable="symb">      <resource variable="symb">
       <filterfunc>return $res->is_problem()</filterfunc>        <filterfunc>return $res->is_problem()</filterfunc>
       <valuefunc>return $res->symb()</valuefunc>        <valuefunc>return $res->symb()</valuefunc>
       <nextstate>FINISH</nextstate>        <nextstate>PROCTOR</nextstate>
         <defaultvalue>
           return &{$helper->{DATA}{origslot}}('symb');
         </defaultvalue>
     </resource>          </resource>    
   </state>    </state>
     <state name="PROCTOR" title="Specify Proctors">
       <student variable="proctor" multichoice="1" coursepersonnel="1"
                nextstate="FINISH" activeonly="1" emptyallowed="1">
         <defaultvalue>
           my @defaults;
           my $default=&{$helper->{DATA}{origslot}}('proctor');
           if ($default) {
       $default=~ tr/@/:/;
       @defaults=(split(',',$default)); 
    }
           return @defaults;
         </defaultvalue>
       </student>
     </state>
   <state name="FINISH" title="Creating/Modfying Slot">    <state name="FINISH" title="Creating/Modfying Slot">
     <message> <message_text> Created Slot </message_text> </message>      <message> <message_text> Created Slot </message_text> </message>
     <final>      <final>
Line 119 Line 200
  foreach my $which ('type','starttime','endtime') {   foreach my $which ('type','starttime','endtime') {
     $slot{$which} = $helper->{'VARS'}{$which};      $slot{$which} = $helper->{'VARS'}{$which};
  }   }
  foreach my $which ('ip','proctor','description','maxspace',   foreach my $which ('ip','description','maxspace',
    'secret','symb') {     'secret','symb') {
     if ( $helper->{'VARS'}{$which} =~/\S/ ) {      if ( $helper->{'VARS'}{$which} =~/\S/ ) {
  $slot{$which} = $helper->{'VARS'}{$which};   $slot{$which} = $helper->{'VARS'}{$which};
Line 130 Line 211
     $slot{'uniqueperiod'} = [$helper->{'VARS'}{'startunique'},      $slot{'uniqueperiod'} = [$helper->{'VARS'}{'startunique'},
      $helper->{'VARS'}{'endunique'}];       $helper->{'VARS'}{'endunique'}];
  }   }
           if ( $helper->{'VARS'}{'proctor'} =~/\S/ ) {
       my @names;
       foreach my $user (split(/\|\|\|/, $helper->{'VARS'}{'proctor'})) {
    my ($uname,$udomain)=split(/:/,$user);
    push(@names,"$uname\@$udomain");
       }
       $slot{'proctor'}=join(',',@names);
    }
         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'};
   
         my $ret = &Apache::lonnet::cput('slots',          my $ret = &Apache::lonnet::cput('slots',
  {$helper->{'VARS'}{'name'} => \%slot},   {$helper->{'VARS'}{'name'} => \%slot},
  $cdom,$cname);   $cdom,$cname);
         $result.="\n".'<li> Name: '.&HTML::Entities::encode($slot{name}).'</li>'.          $result.="\n ".'Name: '.&HTML::Entities::encode($helper->{'VARS'}{'name'}).'</li>'.
     "\n".'<li> Starts: '.&Apache::lonlocal::locallocaltime($slot{start}).'</li>'.      "\n".'<li> Starts: '.&Apache::lonlocal::locallocaltime($slot{'starttime'}).'</li>'.
                  "\n".'<li> Ends: '.&Apache::lonlocal::locallocaltime($slot{end}).'</li>'.                   "\n".'<li> Ends: '.&Apache::lonlocal::locallocaltime($slot{'endtime'}).'</li>'.
                  "\n".'<li> Type: '.$slot{'type'}.'</li>';                   "\n".'<li> Type: '.$slot{'type'}.'</li>';
         my %labels =          my %labels =
              map {($_->[0],$_->[1])} &Apache::slotrequest::csvupload_fields();               map {($_->[0],$_->[1])} &Apache::slotrequest::csvupload_fields();
Line 159 Line 248
  }   }
         return $result;          return $result;
       </finalcode>        </finalcode>
       <exitpage>/adm/flip?postdata=return:</exitpage>        <exitpage>/adm/slotrequest?command=showslots</exitpage>
     </final>      </final>
   </state>    </state>
 </helper>  </helper>

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


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