--- loncom/interface/slotrequest.pm 2006/06/30 04:28:18 1.68
+++ loncom/interface/slotrequest.pm 2009/05/17 21:03:16 1.88.2.1
@@ -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.68 2006/06/30 04:28:18 albertel Exp $
+# $Id: slotrequest.pm,v 1.88.2.1 2009/05/17 21:03:16 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -77,7 +77,7 @@ sub end_page {
=cut
sub get_course {
- (undef,my $courseid)=&Apache::lonxml::whichuser();
+ (undef,my $courseid)=&Apache::lonnet::whichuser();
my $cdom=$env{'course.'.$courseid.'.domain'};
my $cnum=$env{'course.'.$courseid.'.num'};
return ($cnum,$cdom);
@@ -165,6 +165,9 @@ sub check_for_reservation {
sub get_consumed_uniqueperiods {
my ($slots) = @_;
my $navmap=Apache::lonnavmaps::navmap->new;
+ if (!defined($navmap)) {
+ return 'error: Unable to determine current status';
+ }
my @problems = $navmap->retrieveResources(undef,
sub { $_[0]->is_problem() },1,0);
my %used_slots;
@@ -214,9 +217,13 @@ sub check_for_conflict {
if (!ref($consumed_uniqueperiods)) {
$consumed_uniqueperiods = &get_consumed_uniqueperiods($slots);
- if (&Apache::lonnet::error(%$consumed_uniqueperiods)) {
- return 'error: Unable to determine current status';
- }
+ if (ref($consumed_uniqueperiods) eq 'HASH') {
+ if (&Apache::lonnet::error(%$consumed_uniqueperiods)) {
+ return 'error: Unable to determine current status';
+ }
+ } else {
+ return 'error: Unable to determine current status';
+ }
}
my ($new_uniq_start,$new_uniq_end) = @{$new_slot->{'uniqueperiod'}};
@@ -229,7 +236,6 @@ sub check_for_conflict {
}
}
return undef;
-
}
sub make_reservation {
@@ -241,7 +247,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,12 +341,12 @@ 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) { - $r->print("".&mt('Slot [_1] has no reservations.', - $slot_name)."
"); + $r->print(''.&mt('Slot [_1] has no reservations.', + ''.$slot_name.'').'
'); return; } @@ -412,7 +419,11 @@ sub release_all_slot { my ($result,$msg) = &release_reservation($slot_name,$uname,$udom, $consumed{$entry}{'symb'},$mgr); - $r->print("$msg
"); + if (!$result) { + $r->print(''.&mt($msg).'
'); + } else { + $r->print("$msg
"); + } $r->rflush(); } $r->print(''.
@@ -433,12 +444,16 @@ sub release_slot {
if ($mgr eq 'F'
&& defined($env{'form.symb'})) {
- $symb = $env{'form.symb'};
+ $symb = &unescape($env{'form.symb'});
}
my ($result,$msg) =
&release_reservation($slot_name,$uname,$udom,$symb,$mgr);
- $r->print(" $msg '.&mt($msg).' $msg
-or
+$lt{'or'}
' + .&mt('Slot: [_1] has unknown status.',$description) + .' | |
No available times. '.
+ $r->print(''.&mt('No available times.').
+ ' '.
&mt('Return to last resource').' | |
Created $countdone slots\n
"); + $r->print(''.&mt('Created [quant,_1,slot]',$countdone)."\n".'
'); foreach my $error (@errors) { - $r->print("$error\n
"); + $r->print(''.$error.'
'."\n"); } &show_table($r,$mgr); return ''; @@ -1598,11 +1701,11 @@ sub handler { } elsif ($env{'form.command'} eq 'get') { &get_slot($r,$symb); } elsif ($env{'form.command'} eq 'change') { - if (&release_slot($r,$symb,$env{'form.releaseslot'},1)) { - &get_slot($r,$symb); + if (&get_slot($r,$symb,$env{'form.releaseslot'},1)) { + &release_slot($r,$symb,$env{'form.releaseslot'}); } } else { - $r->print("Unknown command: ".$env{'form.command'}."
"); + $r->print(''.&mt('Unknown command: [_1]',$env{'form.command'}).'
'); } } &end_page($r);