From 5543a8c47fd7ef6435df16b2accca0570c854439 Mon Sep 17 00:00:00 2001 From: erickson Date: Wed, 9 Aug 2006 17:57:19 +0000 Subject: [PATCH] delete hold_copy_maps on hold cancel and hold fulfillment time git-svn-id: svn://svn.open-ils.org/ILS/trunk@5409 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../src/perlmods/OpenILS/Application/Circ/Circulate.pm | 2 ++ Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm index d12b232426..799e3f763a 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm @@ -845,6 +845,8 @@ sub handle_checkout_holds { return $self->bail_on_events($self->editor->event) unless $self->editor->update_action_hold_request($hold); + $holdcode->delete_hold_copy_maps($self->editor, $hold->id); + push( @fulfilled, $hold->id ); } diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm index 85d9a960cd..0d0a5d0a27 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm @@ -417,10 +417,25 @@ sub cancel_hold { $e->update_action_hold_request($hold) or return $e->event; + $self->delete_hold_copy_maps($e, $hold->id); + $e->commit; return 1; } +sub delete_hold_copy_maps { + my $class = shift; + my $editor = shift; + my $holdid = shift; + + my $maps = $editor->search_action_hold_copy_map({hold=>$holdid}); + for(@$maps) { + $editor->delete_action_hold_copy_map($_) + or return $editor->event; + } + return undef; +} + __PACKAGE__->register_method( method => "update_hold", -- 2.11.0