version 1.58, 2006/04/24 23:23:02
|
version 1.61, 2006/05/12 05:12:27
|
Line 41 sub fail {
|
Line 41 sub fail {
|
my ($r,$code)=@_; |
my ($r,$code)=@_; |
if ($code eq 'not_valid') { |
if ($code eq 'not_valid') { |
$r->print('<p>'.&mt('Unable to understand what resource you wanted to sign up for.').'</p>'); |
$r->print('<p>'.&mt('Unable to understand what resource you wanted to sign up for.').'</p>'); |
|
} elsif ($code eq 'not_available') { |
|
$r->print('<p>'.&mt('No slots are available.').'</p>'); |
} elsif ($code eq 'not_allowed') { |
} elsif ($code eq 'not_allowed') { |
$r->print('<p>'.&mt('Not allowed to sign up or change reservations at this time.').'</p>'); |
$r->print('<p>'.&mt('Not allowed to sign up or change reservations at this time.').'</p>'); |
} else { |
} else { |
Line 243 sub make_reservation {
|
Line 244 sub make_reservation {
|
my $value=&Apache::lonnet::EXT("resource.0.availablestudent",$symb, |
my $value=&Apache::lonnet::EXT("resource.0.availablestudent",$symb, |
$env{'user.domain'},$env{'user.name'}); |
$env{'user.domain'},$env{'user.name'}); |
&Apache::lonxml::debug("value is $value<br />"); |
&Apache::lonxml::debug("value is $value<br />"); |
if (&network_error($value)) { |
|
|
my $use_slots = &Apache::lonnet::EXT("resource.0.useslots"); |
|
&Apache::lonxml::debug("use_slots is $use_slots<br />"); |
|
|
|
if (&network_error($value) || &network_error($use_slots)) { |
return 'error: Unable to determine current status'; |
return 'error: Unable to determine current status'; |
} |
} |
|
|
|
my $parm_symb = $symb; |
|
my $parm_level = 1; |
|
if ($use_slots eq 'map') { |
|
my ($map) = &Apache::lonnet::decode_symb($symb); |
|
$parm_symb = &Apache::lonnet::symbread($map); |
|
$parm_level = 2; |
|
} |
|
|
foreach my $other_slot (split(/:/, $value)) { |
foreach my $other_slot (split(/:/, $value)) { |
if ($other_slot eq $slot_name) { |
if ($other_slot eq $slot_name) { |
my %consumed=&Apache::lonnet::dump('slot_reservations', $cdom, |
my %consumed=&Apache::lonnet::dump('slot_reservations', $cdom, |
Line 286 sub make_reservation {
|
Line 299 sub make_reservation {
|
|
|
my %reservation=('name' => $env{'user.name'}.':'.$env{'user.domain'}, |
my %reservation=('name' => $env{'user.name'}.':'.$env{'user.domain'}, |
'timestamp' => time, |
'timestamp' => time, |
'symb' => $symb); |
'symb' => $parm_symb); |
|
|
my $success=&Apache::lonnet::newput('slot_reservations', |
my $success=&Apache::lonnet::newput('slot_reservations', |
{"$slot_name\0$wanted" => |
{"$slot_name\0$wanted" => |
Line 300 sub make_reservation {
|
Line 313 sub make_reservation {
|
} |
} |
my $result=&Apache::lonparmset::storeparm_by_symb($symb, |
my $result=&Apache::lonparmset::storeparm_by_symb($symb, |
'0_availablestudent', |
'0_availablestudent', |
1, $new_value, 'string', |
$parm_level, $new_value, |
|
'string', |
$env{'user.name'}, |
$env{'user.name'}, |
$env{'user.domain'}); |
$env{'user.domain'}); |
&Apache::lonxml::debug("hrrm $result"); |
&Apache::lonxml::debug("hrrm $result"); |
Line 471 sub release_reservation {
|
Line 485 sub release_reservation {
|
} |
} |
} |
} |
|
|
|
my $use_slots = &Apache::lonnet::EXT("resource.0.useslots"); |
|
&Apache::lonxml::debug("use_slots is $use_slots<br />"); |
|
|
|
if (&network_error($use_slots)) { |
|
return (0,'error: Unable to determine current status'); |
|
} |
|
|
|
my $parm_level = 1; |
|
if ($use_slots eq 'map') { |
|
$parm_level = 2; |
|
} |
# store new parameter string |
# store new parameter string |
my $result=&Apache::lonparmset::storeparm_by_symb($symb, |
my $result=&Apache::lonparmset::storeparm_by_symb($symb, |
'0_availablestudent', |
'0_availablestudent', |
1, $new_param, 'string', |
$parm_level, $new_param, |
$uname,$udom); |
'string', $uname, $udom); |
|
|
my $msg; |
my $msg; |
if ($mgr eq 'F') { |
if ($mgr eq 'F') { |
Line 1526 sub handler {
|
Line 1551 sub handler {
|
} |
} |
} else { |
} else { |
my $symb=&Apache::lonnet::unescape($env{'form.symb'}); |
my $symb=&Apache::lonnet::unescape($env{'form.symb'}); |
|
if (!defined($symb)) { |
|
&fail($r,'not_valid'); |
|
return OK; |
|
} |
my (undef,undef,$res)=&Apache::lonnet::decode_symb($symb); |
my (undef,undef,$res)=&Apache::lonnet::decode_symb($symb); |
my $useslots = &Apache::lonnet::EXT("resource.0.useslots",$symb); |
my $useslots = &Apache::lonnet::EXT("resource.0.useslots",$symb); |
if ($useslots ne 'resource') { |
if ($useslots ne 'resource' && $useslots ne 'map') { |
&fail($r,'not_valid'); |
&fail($r,'not_available'); |
return OK; |
return OK; |
} |
} |
$env{'request.symb'}=$symb; |
$env{'request.symb'}=$symb; |