From d89c8ebc7c4e085259eb37ce11741b0c2c910893 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Fri, 12 Mar 2021 16:09:22 +0000 Subject: [PATCH] Bug 26689: Check for specific template then fallback - printinvoice This patch adds a check for a more specific ACCOUNT_DEBIT template (named to match the debit_type_code of the credit line) prior to falling back to the ACCOUNT_DEBIT template. Test plan 1/ On a patrons account page use the print option on a series of debit lines with differing credit types (Overdue, Payout) 2/ Note that the same template 'ACCOUNT_DEBIT' is used for all types 3/ Apply the patch 4/ Run step 1 again and note all still print using ACCOUNT_DEBIT 5/ Add a new notice template under the 'circulation' module with a code that matches one of your account debit types (OVERDUE, PAYOUT) 6/ Run step 1 again and note that where you have added a specific notice for that debit type it has been used. --- members/printinvoice.pl | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/members/printinvoice.pl b/members/printinvoice.pl index 4c41461bfa..ceae374a0b 100755 --- a/members/printinvoice.pl +++ b/members/printinvoice.pl @@ -55,8 +55,29 @@ output_and_exit_if_error( } ); -my $letter = C4::Letters::getletter( 'circulation', 'ACCOUNT_DEBIT', - C4::Context::mybranch, 'print', $patron->lang ); +my $letter = C4::Letters::GetPreparedLetter( + module => 'circulation', + letter_code => $debit->debit_type_code, + branchcode => C4::Context::mybranch, + message_transport_type => 'print', + lang => $patron->lang, + tables => { + debits => $debit_id, + borrowers => $patron->borrowernumber + } +); + +$letter //= C4::Letters::GetPreparedLetter( + module => 'circulation', + letter_code => 'ACCOUNT_DEBIT', + branchcode => C4::Context::mybranch, + message_transport_type => 'print', + lang => $patron->lang, + tables => { + debits => $debit_id, + borrowers => $patron->borrowernumber + } +); $template->param( letter => $letter, -- 2.20.1