Lines 1282-1293
sub ModReserveStatus {
Link Here
|
1282 |
|
1282 |
|
1283 |
=head2 ModReserveAffect |
1283 |
=head2 ModReserveAffect |
1284 |
|
1284 |
|
1285 |
&ModReserveAffect($itemnumber,$borrowernumber,$diffBranchSend); |
1285 |
&ModReserveAffect($itemnumber,$borrowernumber,$diffBranchSend,$reserve_id); |
1286 |
|
1286 |
|
1287 |
This function affect an item and a status for a given reserve |
1287 |
This function affect an item and a status for a given reserve, either fetched directly |
1288 |
The itemnumber parameter is used to find the biblionumber. |
1288 |
by record_id, or by borrowernumber and itemnumber or biblionumber. If only biblionumber |
1289 |
with the biblionumber & the borrowernumber, we can affect the itemnumber |
1289 |
is given, only first reserve returned is affected, which is ok for anything but |
1290 |
to the correct reserve. |
1290 |
multi-item holds. |
1291 |
|
1291 |
|
1292 |
if $transferToDo is not set, then the status is set to "Waiting" as well. |
1292 |
if $transferToDo is not set, then the status is set to "Waiting" as well. |
1293 |
otherwise, a transfer is on the way, and the end of the transfer will |
1293 |
otherwise, a transfer is on the way, and the end of the transfer will |
Lines 1346-1352
sub ModReserveAffect {
Link Here
|
1346 |
} |
1346 |
} |
1347 |
$hold->store(); |
1347 |
$hold->store(); |
1348 |
|
1348 |
|
1349 |
_koha_notify_reserve( $itemnumber, $borrowernumber, $biblionumber ) |
1349 |
_koha_notify_reserve( $hold->reserve_id ) |
1350 |
if ( !$transferToDo && !$already_on_shelf ); |
1350 |
if ( !$transferToDo && !$already_on_shelf ); |
1351 |
|
1351 |
|
1352 |
_FixPriority( { biblionumber => $biblionumber } ); |
1352 |
_FixPriority( { biblionumber => $biblionumber } ); |
Lines 1952-1958
sub _Findgroupreserve {
Link Here
|
1952 |
|
1952 |
|
1953 |
=head2 _koha_notify_reserve |
1953 |
=head2 _koha_notify_reserve |
1954 |
|
1954 |
|
1955 |
_koha_notify_reserve( $itemnumber, $borrowernumber, $biblionumber ); |
1955 |
_koha_notify_reserve( $hold->reserve_id ); |
1956 |
|
1956 |
|
1957 |
Sends a notification to the patron that their hold has been filled (through |
1957 |
Sends a notification to the patron that their hold has been filled (through |
1958 |
ModReserveAffect, _not_ ModReserveFill) |
1958 |
ModReserveAffect, _not_ ModReserveFill) |
Lines 1979-1987
The following tables are availalbe witin the notice:
Link Here
|
1979 |
=cut |
1979 |
=cut |
1980 |
|
1980 |
|
1981 |
sub _koha_notify_reserve { |
1981 |
sub _koha_notify_reserve { |
1982 |
my ($itemnumber, $borrowernumber, $biblionumber) = @_; |
1982 |
my $reserve_id = shift; |
|
|
1983 |
my $hold = Koha::Holds->find($reserve_id); |
1984 |
my $borrowernumber = $hold->borrowernumber; |
1983 |
|
1985 |
|
1984 |
my $dbh = C4::Context->dbh; |
|
|
1985 |
my $borrower = C4::Members::GetMember(borrowernumber => $borrowernumber); |
1986 |
my $borrower = C4::Members::GetMember(borrowernumber => $borrowernumber); |
1986 |
|
1987 |
|
1987 |
# Try to get the borrower's email address |
1988 |
# Try to get the borrower's email address |
Lines 1992-2019
sub _koha_notify_reserve {
Link Here
|
1992 |
message_name => 'Hold_Filled' |
1993 |
message_name => 'Hold_Filled' |
1993 |
} ); |
1994 |
} ); |
1994 |
|
1995 |
|
1995 |
my $sth = $dbh->prepare(" |
1996 |
my $library = Koha::Libraries->find( $hold->branchcode )->unblessed; |
1996 |
SELECT * |
|
|
1997 |
FROM reserves |
1998 |
WHERE borrowernumber = ? |
1999 |
AND biblionumber = ? |
2000 |
"); |
2001 |
$sth->execute( $borrowernumber, $biblionumber ); |
2002 |
my $reserve = $sth->fetchrow_hashref; |
2003 |
my $library = Koha::Libraries->find( $reserve->{branchcode} )->unblessed; |
2004 |
|
1997 |
|
2005 |
my $admin_email_address = $library->{branchemail} || C4::Context->preference('KohaAdminEmailAddress'); |
1998 |
my $admin_email_address = $library->{branchemail} || C4::Context->preference('KohaAdminEmailAddress'); |
2006 |
|
1999 |
|
2007 |
my %letter_params = ( |
2000 |
my %letter_params = ( |
2008 |
module => 'reserves', |
2001 |
module => 'reserves', |
2009 |
branchcode => $reserve->{branchcode}, |
2002 |
branchcode => $hold->branchcode, |
2010 |
tables => { |
2003 |
tables => { |
2011 |
'branches' => $library, |
2004 |
'branches' => $library, |
2012 |
'borrowers' => $borrower, |
2005 |
'borrowers' => $borrower, |
2013 |
'biblio' => $biblionumber, |
2006 |
'biblio' => $hold->biblionumber, |
2014 |
'biblioitems' => $biblionumber, |
2007 |
'biblioitems' => $hold->biblionumber, |
2015 |
'reserves' => $reserve, |
2008 |
'reserves' => $hold->unblessed, |
2016 |
'items' => $reserve->{'itemnumber'}, |
2009 |
'items' => $hold->itemnumber, |
2017 |
}, |
2010 |
}, |
2018 |
substitute => { today => output_pref( { dt => dt_from_string, dateonly => 1 } ) }, |
2011 |
substitute => { today => output_pref( { dt => dt_from_string, dateonly => 1 } ) }, |
2019 |
); |
2012 |
); |