--- loncom/interface/slotrequest.pm 2007/04/11 21:49:02 1.79
+++ loncom/interface/slotrequest.pm 2008/12/11 14:55:15 1.84
@@ -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.79 2007/04/11 21:49:02 albertel Exp $
+# $Id: slotrequest.pm,v 1.84 2008/12/11 14:55:15 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -241,7 +241,8 @@ sub make_reservation {
$env{'user.domain'},$env{'user.name'});
&Apache::lonxml::debug("value is $value
");
- my $use_slots = &Apache::lonnet::EXT("resource.0.useslots");
+ my $use_slots = &Apache::lonnet::EXT("resource.0.useslots",$symb,
+ $env{'user.domain'},$env{'user.name'});
&Apache::lonxml::debug("use_slots is $use_slots
");
if (&Apache::lonnet::error($value)
@@ -334,7 +335,7 @@ sub remove_registration {
my %consumed=&Apache::lonnet::dump('slot_reservations',$cdom,$cnum,
"^$slot_name\0");
if (&Apache::lonnet::error(%consumed)) {
- $r->print("
".&mt('A network error has occured.').'
'); + $r->print("".&mt('A network error has occurred.').'
'); return; } if (!%consumed) { @@ -459,9 +460,22 @@ sub release_reservation { return (0,&mt('Not allowed to release Reservation: [_1], as it has already ended.',$description)); } } + + # if the reservation symb is for a map get a resource in that map + # to check slot parameters on + my $navmap=Apache::lonnavmaps::navmap->new; + my $passed_resource = $navmap->getBySymb($symb); + if ($passed_resource->is_map()) { + my ($a_resource) = + $navmap->retrieveResources($passed_resource, + sub {$_[0]->is_problem()},0,1); + $symb = $a_resource->symb(); + } + # get parameter string, check for existance, rebuild string with the slot - my @slots = split(/:/,&Apache::lonnet::EXT("resource.0.availablestudent", - $symb,$udom,$uname)); + my $student = &Apache::lonnet::EXT("resource.0.availablestudent", + $symb,$udom,$uname); + my @slots = split(/:/,$student); my @new_slots; foreach my $exist_slot (@slots) { @@ -482,7 +496,8 @@ sub release_reservation { } } - my $use_slots = &Apache::lonnet::EXT("resource.0.useslots"); + my $use_slots = &Apache::lonnet::EXT("resource.0.useslots", + $symb,$udom,$uname); &Apache::lonxml::debug("use_slots is $use_slotsAn error occured while attempting to make a reservation. ($1)
"); + $r->print('' + .&mt('An error occurred while attempting to make a reservation. ([_1])',$1) + .'
'); &return_link($r); return 0; } @@ -595,7 +612,9 @@ STUFF if (defined($reserved)) { my $retvalue = 0; if ($slot_name =~ /^error: (.*)/) { - $r->print("An error occured while attempting to make a reservation. ($1)
"); + $r->print('' + .&mt('An error occurred while attempting to make a reservation. ([_1])',$1) + .'
'); } elsif ($reserved > -1) { $r->print("Success: $description
"); $retvalue = 1; @@ -1117,7 +1136,7 @@ sub show_table { (@this_slot)) { my (undef,$id)=split("\0",$entry); my ($uname,$udom) = split(':',$consumed{$entry}{'name'}); - $ids.= '