[Koha-patches] [PATCH] bug 3222: tweak sending of hold filled notification

Daniel Sweeney daniel.sweeney at liblime.com
Wed May 20 18:12:48 CEST 2009


From: Galen Charlton <galen.charlton at liblime.com>

Send a hold filled notification only when the item
is (assumed) to enter the hold shelf, i.e., when
the request status (reserves.found) is set to 'W'.
---
 C4/Reserves.pm |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/C4/Reserves.pm b/C4/Reserves.pm
index 3593dd8..90c6fd7 100644
--- a/C4/Reserves.pm
+++ b/C4/Reserves.pm
@@ -973,6 +973,12 @@ sub ModReserveAffect {
     my $sth = $dbh->prepare("SELECT biblionumber FROM items WHERE itemnumber=?");
     $sth->execute($itemnumber);
     my ($biblionumber) = $sth->fetchrow;
+
+    # get request - need to find out if item is already
+    # waiting in order to not send duplicate hold filled notifications
+    my $request = GetReserveInfo($borrowernumber, $biblionumber);
+    my $already_on_shelf = ($request && $request->{found} eq 'W') ? 1 : 0;
+
     # If we affect a reserve that has to be transfered, don't set to Waiting
     my $query;
     if ($transferToDo) {
@@ -998,7 +1004,7 @@ sub ModReserveAffect {
     }
     $sth = $dbh->prepare($query);
     $sth->execute( $itemnumber, $borrowernumber,$biblionumber);
-    _koha_notify_reserve( $itemnumber, $borrowernumber, $biblionumber ) if ( !$transferToDo );
+    _koha_notify_reserve( $itemnumber, $borrowernumber, $biblionumber ) if ( !$transferToDo && !$already_on_shelf );
 
     return;
 }
-- 
1.5.6.5



More information about the Koha-patches mailing list