--- loncom/html/adm/helper/newslot.helper 2006/03/07 16:15:55 1.13 +++ loncom/html/adm/helper/newslot.helper 2006/12/18 21:49:32 1.22 @@ -1,5 +1,6 @@ - + OPTIONAL @@ -30,7 +31,7 @@ } - Name:
    +
Name:
   
@@ -64,6 +65,12 @@ return &{$helper->{DATA}{origslot}}('endtime'); + + if ($val < $helper->{'VARS'}{'starttime'}) { + return 'End time must be later than the start time.'; + } + return undef; +
Type: @@ -78,7 +85,8 @@
- +

Description:
    @@ -96,6 +104,12 @@ return &{$helper->{DATA}{origslot}}('startreserve','anytime'); + + if (defined($val) && $val > $helper->{'VARS'}{'starttime'}) { + return 'Reservation time must come before the slot has started.'; + } + return undef; +

Maxium number of students allowed in this slot:
    @@ -128,6 +142,12 @@ if (ref($default)) { return $default->[1]; } return 'anytime'; + + if (defined($val) && $val < $helper->{'VARS'}{'startunique'}) { + return 'End time must be later than the start time.'; + } + return undef; + @@ -139,6 +159,20 @@ delete($helper->{'VARS'}{'endunique'}); + + +

Proctored access: + + + No proctor checkin required for access. + Require proctored checkin for access. + + my $default=&{$helper->{DATA}{origslot}}('proctor'); + if ($default) { return 'yes'; } + return 'no'; + + +

Secret word proctors use to checkin users:
    @@ -153,6 +187,8 @@

Slot is: + + usable for any resource. restricted to a specific resource. @@ -162,6 +198,7 @@ return 'any'; +

IP restrictions:
    @@ -191,14 +228,15 @@ - + - FINISH + + $helper->{'VARS'}{'useproctor'} eq 'no' + RESTRICTUSER + - - $helper->{'VARS'}{'type'} eq 'schedulable_student' - RESTRICTUSER - + RESTRICTUSER @@ -206,7 +244,6 @@ my @defaults; my $default=&{$helper->{DATA}{origslot}}('proctor'); if ($default) { - $default=~ tr/@/:/; @defaults=(split(',',$default)); } return @defaults; @@ -215,7 +252,13 @@ - + + + $helper->{'VARS'}{'type'} ne 'schedulable_student' + FINISH + + FINISH

Slots are by default available to all users in a course, if you would like this slot to be restricted to a subset of users you can specify restrictions.

@@ -270,41 +313,39 @@ $helper->{'VARS'}{'endunique'}]; } - if ( $helper->{'VARS'}{'proctor'} =~/\S/ ) { + if ( $helper->{'VARS'}{'useproctor'} eq 'yes' + && $helper->{'VARS'}{'proctor'} =~/\S/ ) { my @names; + # just need the username/domain throw away the other data + # that returns foreach my $user (split(/\|\|\|/, $helper->{'VARS'}{'proctor'})) { my ($uname,$udomain)=split(/:/,$user); - push(@names,"$uname\@$udomain"); + push(@names,"$uname:$udomain"); } - # make sure the usenrmaes are unique + # make sure the usernmaes are unique my %proctors = map { ($_,1) } @names; $slot{'proctor'}=join(',',sort(keys(%proctors))); } - if ( $helper->{'VARS'}{'allowedsections'} !~/\S/ ); - - my @names; - foreach my $item (split(/\|\|\|/, $helper->{'VARS'}{'allowedsections'})) { - my ($uname,$udomain)=split(/:/,$item); - push(@names,"$uname:$udomain"); - } - - # make sure the choices are unique - my %proctors = map { ($_,1) } @names; - $slot{'allowedsections'}=join(',',sort(keys(%proctors))); + if ( $helper->{'VARS'}{'allowedsections'} =~/\S/ ) { + $slot{'allowedsections'}= + join(',',sort(split(/\|\|\|/, + $helper->{'VARS'}{'allowedsections'}))); } - if ( $helper->{'VARS'}{$which} !~/\S/ ); - + if ( $helper->{'VARS'}{'allowedusers'} =~/\S/ ) { my @names; - foreach my $item (split(/\|\|\|/, $helper->{'VARS'}{$which})) { + # just need the username/domain throw away the other data + # that returns + foreach my $item (split(/\|\|\|/, + $helper->{'VARS'}{'allowedusers'})) { my ($uname,$udomain)=split(/:/,$item); push(@names,"$uname:$udomain"); } # make sure the choices are unique - my %proctors = map { ($_,1) } @names; - $slot{$which}=join(',',sort(keys(%proctors))); + my %users = map { ($_,1) } @names; + $slot{'allowedusers'}=join(',',sort(keys(%users))); } my $cname = $env{'course.'.$env{'request.course.id'}.'.num'};