version 1.13, 2006/03/07 16:15:55
|
version 1.22, 2006/12/18 21:49:32
|
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" |
|
help="Slot_RequiredAttributes"> |
|
|
<nextstate>OPTIONAL</nextstate> |
<nextstate>OPTIONAL</nextstate> |
|
|
Line 30
|
Line 31
|
} |
} |
</exec> |
</exec> |
<message> |
<message> |
Name: <br /> |
<br />Name: <br /> |
</message> |
</message> |
<string variable="name" size="30"> |
<string variable="name" size="30"> |
<validator> |
<validator> |
Line 64
|
Line 65
|
<defaultvalue> |
<defaultvalue> |
return &{$helper->{DATA}{origslot}}('endtime'); |
return &{$helper->{DATA}{origslot}}('endtime'); |
</defaultvalue> |
</defaultvalue> |
|
<validator> |
|
if ($val < $helper->{'VARS'}{'starttime'}) { |
|
return 'End time must be later than the start time.'; |
|
} |
|
return undef; |
|
</validator> |
</date> |
</date> |
<message> |
<message> |
<br />Type: |
<br />Type: |
Line 78
|
Line 85
|
</state> |
</state> |
|
|
|
|
<state name="OPTIONAL" title="Specify Optional Attributes"> |
<state name="OPTIONAL" title="Specify Optional Attributes" |
|
help="Slot_OptionalAttributes"> |
<message> |
<message> |
<p>Description:<br /> |
<p>Description:<br /> |
</message> |
</message> |
Line 96
|
Line 104
|
<defaultvalue> |
<defaultvalue> |
return &{$helper->{DATA}{origslot}}('startreserve','anytime'); |
return &{$helper->{DATA}{origslot}}('startreserve','anytime'); |
</defaultvalue> |
</defaultvalue> |
|
<validator> |
|
if (defined($val) && $val > $helper->{'VARS'}{'starttime'}) { |
|
return 'Reservation time must come before the slot has started.'; |
|
} |
|
return undef; |
|
</validator> |
</date> |
</date> |
<message> |
<message> |
</p><p>Maxium number of students allowed in this slot:<br /> |
</p><p>Maxium number of students allowed in this slot:<br /> |
Line 128
|
Line 142
|
if (ref($default)) { return $default->[1]; } |
if (ref($default)) { return $default->[1]; } |
return 'anytime'; |
return 'anytime'; |
</defaultvalue> |
</defaultvalue> |
|
<validator> |
|
if (defined($val) && $val < $helper->{'VARS'}{'startunique'}) { |
|
return 'End time must be later than the start time.'; |
|
} |
|
return undef; |
|
</validator> |
</date> |
</date> |
</condition> |
</condition> |
<condition> |
<condition> |
Line 139
|
Line 159
|
delete($helper->{'VARS'}{'endunique'}); |
delete($helper->{'VARS'}{'endunique'}); |
</exec> |
</exec> |
</condition> |
</condition> |
|
|
|
<message> |
|
</p><p>Proctored access: |
|
</message> |
|
<choices variable="useproctor"> |
|
<choice computer='no'>No proctor checkin required for access.</choice> |
|
<choice computer='yes'>Require proctored checkin for access.</choice> |
|
<defaultvalue> |
|
my $default=&{$helper->{DATA}{origslot}}('proctor'); |
|
if ($default) { return 'yes'; } |
|
return 'no'; |
|
</defaultvalue> |
|
</choices> |
|
|
<message> |
<message> |
</p><p>Secret word proctors use to checkin users:<br /> |
</p><p>Secret word proctors use to checkin users:<br /> |
</message> |
</message> |
Line 153
|
Line 187
|
<message> |
<message> |
</p><p>Slot is: |
</p><p>Slot is: |
</message> |
</message> |
|
<helpicon file="Slot_ChoosingResources" /> |
|
|
<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> |
<choice nextstate="RESOURCESELECT" computer='resource'>restricted to a specific resource.</choice> |
<choice nextstate="RESOURCESELECT" computer='resource'>restricted to a specific resource.</choice> |
Line 162
|
Line 198
|
return 'any'; |
return 'any'; |
</defaultvalue> |
</defaultvalue> |
</choices> |
</choices> |
|
|
<message> |
<message> |
</p><p>IP restrictions:<br /> |
</p><p>IP restrictions:<br /> |
</message> |
</message> |
Line 191
|
Line 228
|
</state> |
</state> |
|
|
|
|
<state name="PROCTOR" title="Specify Proctors"> |
<state name="PROCTOR" title="Specify Proctors" |
|
help="Slot_SpecifyProctors"> |
|
|
<nextstate>FINISH</nextstate> |
<skip> |
|
<clause>$helper->{'VARS'}{'useproctor'} eq 'no'</clause> |
|
<nextstate>RESTRICTUSER</nextstate> |
|
</skip> |
|
|
<condition> |
<nextstate>RESTRICTUSER</nextstate> |
<clause>$helper->{'VARS'}{'type'} eq 'schedulable_student'</clause> |
|
<nextstate>RESTRICTUSER</nextstate> |
|
</condition> |
|
|
|
<student variable="proctor" multichoice="1" coursepersonnel="1" |
<student variable="proctor" multichoice="1" coursepersonnel="1" |
activeonly="1" emptyallowed="1"> |
activeonly="1" emptyallowed="1"> |
Line 206
|
Line 244
|
my @defaults; |
my @defaults; |
my $default=&{$helper->{DATA}{origslot}}('proctor'); |
my $default=&{$helper->{DATA}{origslot}}('proctor'); |
if ($default) { |
if ($default) { |
$default=~ tr/@/:/; |
|
@defaults=(split(',',$default)); |
@defaults=(split(',',$default)); |
} |
} |
return @defaults; |
return @defaults; |
Line 215
|
Line 252
|
</state> |
</state> |
|
|
|
|
<state name="RESTRICTUSER" title="Restrict slot availability"> |
<state name="RESTRICTUSER" title="Restrict slot availability" |
|
help="Slot_RestrictAvailibility"> |
|
<skip> |
|
<clause>$helper->{'VARS'}{'type'} ne 'schedulable_student'</clause> |
|
<nextstate>FINISH</nextstate> |
|
</skip> |
|
|
<nextstate>FINISH</nextstate> |
<nextstate>FINISH</nextstate> |
<message> |
<message> |
<p>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.</p> |
<p>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.</p> |
Line 270
|
Line 313
|
$helper->{'VARS'}{'endunique'}]; |
$helper->{'VARS'}{'endunique'}]; |
} |
} |
|
|
if ( $helper->{'VARS'}{'proctor'} =~/\S/ ) { |
if ( $helper->{'VARS'}{'useproctor'} eq 'yes' |
|
&& $helper->{'VARS'}{'proctor'} =~/\S/ ) { |
my @names; |
my @names; |
|
# just need the username/domain throw away the other data |
|
# that <student> returns |
foreach my $user (split(/\|\|\|/, $helper->{'VARS'}{'proctor'})) { |
foreach my $user (split(/\|\|\|/, $helper->{'VARS'}{'proctor'})) { |
my ($uname,$udomain)=split(/:/,$user); |
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; |
my %proctors = map { ($_,1) } @names; |
$slot{'proctor'}=join(',',sort(keys(%proctors))); |
$slot{'proctor'}=join(',',sort(keys(%proctors))); |
} |
} |
|
|
if ( $helper->{'VARS'}{'allowedsections'} !~/\S/ ); |
if ( $helper->{'VARS'}{'allowedsections'} =~/\S/ ) { |
|
$slot{'allowedsections'}= |
my @names; |
join(',',sort(split(/\|\|\|/, |
foreach my $item (split(/\|\|\|/, $helper->{'VARS'}{'allowedsections'})) { |
$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'}{$which} !~/\S/ ); |
if ( $helper->{'VARS'}{'allowedusers'} =~/\S/ ) { |
|
|
my @names; |
my @names; |
foreach my $item (split(/\|\|\|/, $helper->{'VARS'}{$which})) { |
# just need the username/domain throw away the other data |
|
# that <student> returns |
|
foreach my $item (split(/\|\|\|/, |
|
$helper->{'VARS'}{'allowedusers'})) { |
my ($uname,$udomain)=split(/:/,$item); |
my ($uname,$udomain)=split(/:/,$item); |
push(@names,"$uname:$udomain"); |
push(@names,"$uname:$udomain"); |
} |
} |
|
|
# make sure the choices are unique |
# make sure the choices are unique |
my %proctors = map { ($_,1) } @names; |
my %users = map { ($_,1) } @names; |
$slot{$which}=join(',',sort(keys(%proctors))); |
$slot{'allowedusers'}=join(',',sort(keys(%users))); |
} |
} |
|
|
my $cname = $env{'course.'.$env{'request.course.id'}.'.num'}; |
my $cname = $env{'course.'.$env{'request.course.id'}.'.num'}; |