From 2599cd17c7c2b3f612ffba712d091ebba4a8cb85 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 13 Jun 2014 11:20:33 +0200 Subject: [PATCH] Bug 12415: Fee receipt: a charges description should be displayed in all cases Bug 2546 removes the description DB field value in some case (3.15.00.003). But the receipt generated by scripts members/printfeercpt.pl and members/printinvoice.pl displays this field. When the description field is empty, the default value (based on accountlines.accounttype) should be displayed. Test plan: - Generate and pay some different kinds of fees for a patron without filling the 'description' field. - In Fines>Account, click on the 'print' link. - Before this patch, the "description of charges" values is empty if no description was given. It is a regression introduced by bug 2546, a default value was inserted in the description field depending on the account type selected. - After this patch, the "description of charges" values should be based on the account type. The string display on printing receipt should be the same as on the account screen (staff and opac). Note for QA: If removed the "payment" key, it is not used in template and generated a warning ("odd number of elements..."). Signed-off-by: Nick Clemens Signed-off-by: Katrin Fischer This fixes the display of payments and other charges on the fines slip. Note: This patch fixes a line where the description in the database was still updated to say "Payment thanks" for partial payments. It might be worth to do a follow-up correcting the accountlines table and removing the unwanted comment (see bug 2546). Signed-off-by: Tomas Cohen Arazi --- C4/Accounts.pm | 2 +- .../prog/en/modules/members/printfeercpt.tt | 17 ++++++++++++++++- .../prog/en/modules/members/printinvoice.tt | 17 ++++++++++++++++- members/printfeercpt.pl | 3 +-- members/printinvoice.pl | 2 +- 5 files changed, 35 insertions(+), 6 deletions(-) diff --git a/C4/Accounts.pm b/C4/Accounts.pm index 8cd91007d8..ce5671d09a 100644 --- a/C4/Accounts.pm +++ b/C4/Accounts.pm @@ -720,7 +720,7 @@ sub makepartialpayment { . ' VALUES (?, ?, now(), ?, ?, ?, 0, ?, ?, ?)'; $dbh->do( $insert, undef, $borrowernumber, $nextaccntno, $amount, - "Payment, thanks - $user", 'Pay', $data->{'itemnumber'}, $manager_id, $payment_note); + '', 'Pay', $data->{'itemnumber'}, $manager_id, $payment_note); UpdateStats({ branch => $user, diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/printfeercpt.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/printfeercpt.tt index 64bbf354df..13a02e8398 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/printfeercpt.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/printfeercpt.tt @@ -43,7 +43,22 @@ [% FOREACH account IN accounts %] [% account.date %] - [% account.description %] + + [% SWITCH account.accounttype %] + [% CASE 'Pay' %]Payment, thanks + [% CASE 'Pay00' %]Payment, thanks (cash via SIP2) + [% CASE 'Pay01' %]Payment, thanks (VISA via SIP2) + [% CASE 'Pay02' %]Payment, thanks (credit card via SIP2) + [% CASE 'N' %]New Card + [% CASE 'F' %]Fine + [% CASE 'A' %]Account management fee + [% CASE 'M' %]Sundry + [% CASE 'L' %]Lost Item + [% CASE 'W' %]Writeoff + [% CASE %][% account.accounttype %] + [%- END -%] + [%- IF account.description %], [% account.description %][% END %] + [% IF ( account.amountcredit ) %][% ELSE %][% END %][% account.amount %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/printinvoice.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/printinvoice.tt index 29e64da276..d5899d142f 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/printinvoice.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/printinvoice.tt @@ -44,7 +44,22 @@ [% FOREACH account IN accounts %] [% account.date %] - [% account.description %] + + [% SWITCH account.accounttype %] + [% CASE 'Pay' %]Payment, thanks + [% CASE 'Pay00' %]Payment, thanks (cash via SIP2) + [% CASE 'Pay01' %]Payment, thanks (VISA via SIP2) + [% CASE 'Pay02' %]Payment, thanks (credit card via SIP2) + [% CASE 'N' %]New Card + [% CASE 'F' %]Fine + [% CASE 'A' %]Account management fee + [% CASE 'M' %]Sundry + [% CASE 'L' %]Lost Item + [% CASE 'W' %]Writeoff + [% CASE %][% account.accounttype %] + [%- END -%] + [%- IF account.description %], [% account.description %][% END %] + [% IF ( account.amountcredit ) %][% ELSE %][% END %][% account.amount %] [% IF ( account.amountoutstandingcredit ) %][% ELSE %][% END %][% account.amountoutstanding %] diff --git a/members/printfeercpt.pl b/members/printfeercpt.pl index cf1426443d..7f1e251d4a 100755 --- a/members/printfeercpt.pl +++ b/members/printfeercpt.pl @@ -99,8 +99,7 @@ for (my $i=0;$i<$numaccts;$i++){ 'amount' => sprintf("%.2f",$accts->[$i]{'amount'}), 'amountoutstanding' => sprintf("%.2f",$accts->[$i]{'amountoutstanding'}), 'accountno' => $accts->[$i]{'accountno'}, - 'payment' => ( $accts->[$i]{'accounttype'} =~ /^Pay/ ), - + accounttype => $accts->[$i]{accounttype}, ); if ($accts->[$i]{'accounttype'} ne 'F' && $accts->[$i]{'accounttype'} ne 'FU'){ diff --git a/members/printinvoice.pl b/members/printinvoice.pl index 58eb7b20b8..ef01d547eb 100755 --- a/members/printinvoice.pl +++ b/members/printinvoice.pl @@ -99,7 +99,7 @@ for ( my $i = 0 ; $i < $numaccts ; $i++ ) { 'amount' => sprintf( "%.2f", $accts->[$i]{'amount'} ), 'amountoutstanding' => sprintf( "%.2f", $accts->[$i]{'amountoutstanding'} ), 'accountno' => $accts->[$i]{'accountno'}, - 'payment' => ( $accts->[$i]{'accounttype'} =~ /^Pay/ ), + accounttype => $accts->[$i]{accounttype}, ); if ( $accts->[$i]{'accounttype'} ne 'F' && $accts->[$i]{'accounttype'} ne 'FU' ) { -- 2.39.2