--- loncom/html/adm/helper/newslot.helper 2005/10/11 20:47:02 1.1 +++ loncom/html/adm/helper/newslot.helper 2005/10/17 18:21:26 1.4 @@ -5,7 +5,7 @@ Name:
    - + if ($val=~/^\s*$/) { return 'Must specify a name'; } if ($val=~/\s$/) { return 'Must not contain spaces'; } @@ -35,34 +35,36 @@ -

Time students can start reserving:
    +

Description:
    - + -

IP restrictions:
    +

Time students can start reserving:
    - + + 'anytime' + + + +

Maxium number of students allowed in this slot:
    + + + + if ($val ne '' && $val=~/\D/) { return 'Must be numeric.'; } return undef; -

Description:
    +

Secret word proctors use to checkin users:
    - - - -

Maxium number of students allowed in this slot:
    - - - + - if ($val ne '' && $val=~/\D/) { return 'Must be numeric.'; } return undef; @@ -71,29 +73,106 @@

Period of time in which this slot is can only be uniquely chosen:
   Start: - + + 'anytime' +
   End:
- + + 'anytime' +

Slot is: - usable for any resource. + usable for any resource. restricted to a specific resource. 'any' + + +

IP restrictions:
    + + + + + return undef; + +

return $res->is_problem() return $res->symb() - FINISH + PROCTOR - - fin + + + + + + Created Slot + + + my $result; + if ($helper->{'STATE'} ne 'FINISH') { return; } + my %slot; + foreach my $which ('type','starttime','endtime') { + $slot{$which} = $helper->{'VARS'}{$which}; + } + foreach my $which ('ip','description','maxspace', + 'secret','symb') { + if ( $helper->{'VARS'}{$which} =~/\S/ ) { + $slot{$which} = $helper->{'VARS'}{$which}; + } + } + if ( $helper->{'VARS'}{'startunique'} > 0 && + $helper->{'VARS'}{'endunique'} > 0 ) { + $slot{'uniqueperiod'} = [$helper->{'VARS'}{'startunique'}, + $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 $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + + my $ret = &Apache::lonnet::cput('slots', + {$helper->{'VARS'}{'name'} => \%slot}, + $cdom,$cname); + $result.="\n$ret ".'Name: '.&HTML::Entities::encode($helper->{'VARS'}{'name'}).''. + "\n".'
  • Starts: '.&Apache::lonlocal::locallocaltime($slot{'starttime'}).'
  • '. + "\n".'
  • Ends: '.&Apache::lonlocal::locallocaltime($slot{'endtime'}).'
  • '. + "\n".'
  • Type: '.$slot{'type'}.'
  • '; + my %labels = + map {($_->[0],$_->[1])} &Apache::slotrequest::csvupload_fields(); + foreach my $which ('ip','proctor','description','maxspace', + 'secret','symb') { + if (exists($slot{$which})) { + $result.="\n".'
  • '.$labels{$which}.': '. + &HTML::Entities::encode($slot{$which}).'
  • '; + } + } + if (exists($slot{'uniqueperiod'})) { + $result.= + "\n".'
  • '.$labels{'uniqueperiod'}.': '. + &Apache::lonlocal::locallocaltime($slot{'uniqueperiod'}[0]). + ', '. + &Apache::lonlocal::locallocaltime($slot{'uniqueperiod'}[1]). + '
  • '; + } + return $result; +
    + /adm/slotrequest?command=showslots +