my $reserve = $messages->{'ResFound'};
my $patron = Koha::Patrons->find( $reserve->{borrowernumber} );
my $holdmsgpreferences = C4::Members::Messaging::GetMessagingPreferences( { borrowernumber => $reserve->{'borrowernumber'}, message_name => 'Hold_Filled' } );
- if ( $reserve->{'ResFound'} eq "Waiting" or $reserve->{'ResFound'} eq "Reserved" ) {
+ my $branchCheck = ( $userenv_branch eq $reserve->{branchcode} );
+ if ( $reserve->{'ResFound'} eq "Reserved" && C4::Context->preference('HoldsAutoFill') ) {
+ my $item = Koha::Items->find( $itemnumber );
+ my $biblio = $item->biblio;
+
+ my $diffBranchSend = !$branchCheck ? $reserve->{branchcode} : undef;
+ ModReserveAffect( $reserve->{itemnumber}, $reserve->{borrowernumber}, $diffBranchSend, $reserve->{reserve_id} );
+ my ( $messages, $nextreservinfo ) = GetOtherReserves($reserve->{itemnumber});
+
+ my $patron = Koha::Patrons->find( $nextreservinfo );
+
+ $template->param(
+ hold_auto_filled => 1,
+ print_slip => C4::Context->preference('HoldsAutoFillPrintSlip'),
+ patron => $patron,
+ borrowernumber => $patron->id,
+ biblionumber => $biblio->id,
+ );
+
+ if ( $messages->{'transfert'} ) {
+ $template->param(
+ itemtitle => $biblio->title,
+ itemnumber => $item->itemnumber,
+ itembiblionumber => $biblio->biblionumber,
+ iteminfo => $biblio->author,
+ diffbranch => 1,
+ );
+ }
+ }
+ elsif ( $reserve->{'ResFound'} eq "Waiting" or $reserve->{'ResFound'} eq "Reserved" ) {
if ( $reserve->{'ResFound'} eq "Waiting" ) {
$template->param(
- waiting => ($userenv_branch eq $reserve->{'branchcode'} ? 1 : 0 ),
+ waiting => $branchCheck ? 1 : undef,
);
} elsif ( $reserve->{'ResFound'} eq "Reserved" ) {
$template->param(
- intransit => ($userenv_branch eq $reserve->{'branchcode'} ? 0 : 1 ),
- transfertodo => ($userenv_branch eq $reserve->{'branchcode'} ? 0 : 1 ),
+ intransit => $branchCheck ? undef : 1,
+ transfertodo => $branchCheck ? undef : 1,
reserve_id => $reserve->{reserve_id},
reserved => 1,
);