--- loncom/html/adm/helper/newslot.helper 2006/02/03 22:40:46 1.12
+++ loncom/html/adm/helper/newslot.helper 2006/03/07 16:15:55 1.13
@@ -1,5 +1,8 @@
+
+ OPTIONAL
+
if (!exists($helper->{'VARS'}{'name'}) ||
$helper->{'VARS'}{'name'} !~ /\S/) {
@@ -26,7 +29,7 @@
return $slot{$name}{$which};
}
-
+
Name:
@@ -42,7 +45,7 @@
$helper->{DATA}{copy}
-
+
Changing the Name will create a new slot with the new name, and not rename the existing slot.
@@ -74,6 +77,7 @@
+
Description:
@@ -159,9 +163,7 @@
-
-
IP restrictions:
-
+
IP restrictions:
@@ -173,19 +175,33 @@
+
+
+
+ PROCTOR
+
return $res->is_problem()
return $res->symb()
- PROCTOR
return &{$helper->{DATA}{origslot}}('symb');
+
+
+
+ FINISH
+
+
+ $helper->{'VARS'}{'type'} eq 'schedulable_student'
+ RESTRICTUSER
+
+
+ activeonly="1" emptyallowed="1">
my @defaults;
my $default=&{$helper->{DATA}{origslot}}('proctor');
@@ -197,6 +213,35 @@
+
+
+
+ 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.
+
+
+
+ Select sections to limit slot availability to:
+
+
+
+ return join('|||',
+ split(',',&{$helper->{DATA}{origslot}}('allowedsections')));
+
+
+
+ Select users to limit slot availability to:
+
+
+
+ return split(',',&{$helper->{DATA}{origslot}}('allowedusers'));
+
+
+
+
+
Created Slot
@@ -204,23 +249,27 @@
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') {
+
+ foreach my $which ('ip','description','maxspace','secret','symb') {
if ( $helper->{'VARS'}{$which} =~/\S/ ) {
$slot{$which} = $helper->{'VARS'}{$which};
}
}
+
if ( $helper->{'VARS'}{'startreserve'} > 0) {
$slot{'startreserve'} = $helper->{'VARS'}{'startreserve'};
}
+
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'})) {
@@ -231,6 +280,33 @@
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'}{$which} !~/\S/ );
+
+ my @names;
+ foreach my $item (split(/\|\|\|/, $helper->{'VARS'}{$which})) {
+ 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 $cname = $env{'course.'.$env{'request.course.id'}.'.num'};
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
@@ -243,7 +319,8 @@
"\n".' Type: '.$slot{'type'}.'';
my %labels =
map {($_->[0],$_->[1])} &Apache::slotrequest::csvupload_fields();
- foreach my $which ('ip','description','maxspace','secret','symb') {
+ foreach my $which ('ip','description','maxspace','secret','symb',
+ 'allowedsections','allowedusers') {
if (exists($slot{$which})) {
$result.="\n".' '.$labels{$which}.': '.
&HTML::Entities::encode($slot{$which}).'';