--- loncom/interface/slotrequest.pm 2005/11/21 21:20:06 1.35
+++ loncom/interface/slotrequest.pm 2006/01/24 06:41:16 1.38
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler for requesting to have slots added to a students record
#
-# $Id: slotrequest.pm,v 1.35 2005/11/21 21:20:06 albertel Exp $
+# $Id: slotrequest.pm,v 1.38 2006/01/24 06:41:16 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -325,6 +325,8 @@ sub delete_slot {
my ($cnum,$cdom)=&get_course();
my %consumed=&Apache::lonnet::dump('slot_reservations',$cdom,$cnum,
"^$slot_name\0");
+ my ($tmp) = %consumed;
+ if ($tmp =~ /error: 2/) { undef(%consumed); }
if (%slot && !%consumed) {
$slot{'type'} = 'deleted';
@@ -626,7 +628,7 @@ sub show_table {
'endtime' => 'End Time',
'startreserve' => 'Time students can start reserving',
'secret' => 'Secret Word',
- 'maxspace' => 'Maxium # of students',
+ 'maxspace' => 'Maximum # of students',
'ip' => 'IP or DNS restrictions',
'symb' => 'Resource slot is restricted to.',
'uniqueperiod' => 'Period of time slot is unique',
@@ -732,13 +734,17 @@ sub show_table {
my %consumed=&Apache::lonnet::dump('slot_reservations',$cdom,$cnum,
"^$slot\0");
my $ids;
- foreach my $entry (sort(keys(%consumed))) {
- my (undef,$id)=split("\0",$entry);
- my ($uname,$udom) = split('@',$consumed{$entry}{'name'});
- my $name = &Apache::loncommon::plainname($uname,$udom);
- $ids.= ''.$name.&remove_link($slot,$entry,$uname,$udom,
- $consumed{$entry}{'symb'})
- .'
';
+
+ my ($tmp)=%consumed;
+ if ($tmp !~ /^error: /) {
+ foreach my $entry (sort(keys(%consumed))) {
+ my (undef,$id)=split("\0",$entry);
+ my ($uname,$udom) = split('@',$consumed{$entry}{'name'});
+ my $name = &Apache::loncommon::plainname($uname,$udom);
+ $ids.= ''.$name.&remove_link($slot,$entry,$uname,$udom,
+ $consumed{$entry}{'symb'})
+ .'
';
+ }
}
my $start=($slots{$slot}->{'starttime'}?
@@ -1129,12 +1135,15 @@ sub handler {
} else {
my $symb=&Apache::lonnet::unescape($env{'form.symb'});
my (undef,undef,$res)=&Apache::lonnet::decode_symb($symb);
- if ($res !~ /\.task$/) {
+ my $useslots = &Apache::lonnet::EXT("resource.0.useslots",$symb);
+ if ($useslots ne 'resource') {
&fail($r,'not_valid');
return OK;
}
$env{'request.symb'}=$symb;
- my ($status) = &Apache::lonhomework::check_task_access('0');
+ my $type = ($res =~ /\.task$/) ? 'Task'
+ : 'problem';
+ my ($status) = &Apache::lonhomework::check_slot_access('0',$type);
if ($status eq 'CAN_ANSWER' ||
$status eq 'NEEDS_CHECKIN' ||
$status eq 'WAITING_FOR_GRADE') {