From 17475d77720419552a412f72dbb816d6f2cf9cba Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Wed, 20 May 2009 11:35:56 -0500 Subject: [PATCH] bug 3222: tweak sending of hold filled notification 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'. Signed-off-by: Daniel Sweeney Signed-off-by: Galen Charlton --- C4/Reserves.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 3593dd8864..90c6fd7694 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; } -- 2.39.2