version 1.125.2.3.4.1, 2019/06/24 03:23:36
|
version 1.125.2.4, 2018/06/27 14:26:28
|
Line 729 sub release_reservation {
|
Line 729 sub release_reservation {
|
} |
} |
my $new_param = join(':',@new_slots); |
my $new_param = join(':',@new_slots); |
|
|
# Get value of useslots parameter in effect for this user. |
|
# If value is map or map_map, then the parm level is 2 (i.e., |
|
# non-recursive enclosing map/folder level for specific user) |
|
# and the symb for this reservation in slot_reservations.db |
|
# will be the symb of the map itself. |
|
|
|
my $use_slots = &Apache::lonnet::EXT("resource.0.useslots", |
|
$symb,$udom,$uname); |
|
&Apache::lonxml::debug("use_slots is $use_slots<br />"); |
|
|
|
if (&Apache::lonnet::error($use_slots)) { |
|
return (0,'error: Unable to determine current status'); |
|
} |
|
|
|
my $parm_level = 1; |
|
my $parm_symb = $passed_resource->symb(); |
|
if ($use_slots eq 'map' || $use_slots eq 'map_map') { |
|
$parm_level = 2; |
|
unless ($passed_resource->is_map()) { |
|
my ($map) = &Apache::lonnet::decode_symb($parm_symb); |
|
$parm_symb = &Apache::lonnet::symbread($map); |
|
} |
|
} |
|
|
|
my ($cnum,$cdom)=&get_course(); |
my ($cnum,$cdom)=&get_course(); |
|
|
# get slot reservations, check if user has one for the |
# get slot reservations, check if user has one, if so remove reservation |
# correct symb, and if so, remove the reservation |
|
my %consumed=&Apache::lonnet::dump('slot_reservations',$cdom,$cnum, |
my %consumed=&Apache::lonnet::dump('slot_reservations',$cdom,$cnum, |
"^$slot_name\0"); |
"^$slot_name\0"); |
foreach my $entry (keys(%consumed)) { |
foreach my $entry (keys(%consumed)) { |
if (($consumed{$entry}->{'name'} eq $uname.':'.$udom) && |
if ( $consumed{$entry}->{'name'} eq ($uname.':'.$udom) ) { |
($consumed{$entry}->{'symb'} eq $parm_symb)) { |
|
&Apache::lonnet::del('slot_reservations',[$entry], |
&Apache::lonnet::del('slot_reservations',[$entry], |
$cdom,$cnum); |
$cdom,$cnum); |
my %storehash = ( |
my %storehash = ( |
Line 770 sub release_reservation {
|
Line 744 sub release_reservation {
|
action => 'release', |
action => 'release', |
context => $env{'form.context'}, |
context => $env{'form.context'}, |
); |
); |
&Apache::lonnet::write_log('course','slotreservationslog', |
&Apache::lonnet::write_log('slotreservationslog',\%storehash, |
\%storehash,1,$uname,$udom,$cnum,$cdom); |
1,$uname,$udom,$cnum,$cdom); |
&Apache::lonnet::write_log('course',$cdom.'_'.$cnum.'_slotlog', |
&Apache::lonnet::write_log($cdom.'_'.$cnum.'_slotlog',\%storehash, |
\%storehash,1,$uname,$udom,$uname,$udom); |
1,$uname,$udom,$uname,$udom); |
} |
} |
} |
} |
|
|
|
my $use_slots = &Apache::lonnet::EXT("resource.0.useslots", |
|
$symb,$udom,$uname); |
|
&Apache::lonxml::debug("use_slots is $use_slots<br />"); |
|
|
|
if (&Apache::lonnet::error($use_slots)) { |
|
return (0,'error: Unable to determine current status'); |
|
} |
|
|
|
my $parm_level = 1; |
|
if ($use_slots eq 'map' || $use_slots eq 'map_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', |