--- loncom/interface/slotrequest.pm 2005/11/21 18:55:41 1.33 +++ loncom/interface/slotrequest.pm 2005/11/21 19:50:36 1.34 @@ -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.33 2005/11/21 18:55:41 albertel Exp $ +# $Id: slotrequest.pm,v 1.34 2005/11/21 19:50:36 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -316,6 +316,38 @@ sub release_slot { return 1; } +sub delete_slot { + my ($r)=@_; + + my $slot_name = $env{'form.slotname'}; + my %slot=&Apache::lonnet::get_slot($slot_name); + + my ($cnum,$cdom)=&get_course(); + my %consumed=&Apache::lonnet::dump('slot_reservations',$cdom,$cnum, + "^$slot_name\0"); + + if (%slot && !%consumed) { + $slot{'type'} = 'deleted'; + my $ret = &Apache::lonnet::cput('slots', {$slot_name => \%slot}, + $cdom, $cnum); + if ($ret eq 'ok') { + $r->print("

Slot $slot_name marked as deleted.

"); + } else { + $r->print("

An error ($ret) occurse when attempting to delete Slot $slot_name.

"); + } + } else { + if (%consumed) { + $r->print("

Slot $slot_name has active reservations.

"); + } else { + $r->print("

Slot $slot_name does not exist.

"); + } + } + $r->print('

'. + &mt('Return to slot list').'

'); + $r->print('

'. + &mt('Return to last resource').'

'); +} + sub get_slot { my ($r,$symb)=@_; @@ -718,11 +750,16 @@ sub show_table { } my $proctors=join(', ',@proctors); - my $edit=(<Edit EDITLINK - - $r->print("\n$edit\n"); + + my $delete=(<<"DELETELINK"); +Delete +DELETELINK + if ($ids ne '') { undef($delete); } + + $r->print("\n$edit $delete\n"); if (exists($show{'name'})) { $colspan++;$r->print("$slot"); } @@ -1040,6 +1077,8 @@ sub handler { &remove_registration($r); } elsif ($env{'form.command'} eq 'release' && $mgr eq 'F') { &release_slot($r,undef,undef,undef,$mgr); + } elsif ($env{'form.command'} eq 'delete' && $mgr eq 'F') { + &delete_slot($r); } elsif ($env{'form.command'} eq 'uploadstart' && $mgr eq 'F') { &upload_start($r); } elsif ($env{'form.command'} eq 'csvuploadmap' && $mgr eq 'F') {