From e576d7f38a356358610f456dc367718b513f81cc Mon Sep 17 00:00:00 2001
From: Nick Clemens <nick@bywatersolutions.com>
Date: Tue, 19 Oct 2021 13:03:07 +0000
Subject: [PATCH] Bug 29271: Fix cash register report results
This patch changes accounts.inc to use the credit/debit type codes directly
rather than needlessly fetching the credit_type/debit_type object jsut to get
the code. This allows the BLOCK to work on non-object lines
We also only pass a debit or credit type to csv (accountline cannot be both)
empty-line.inc is also removed in favor of correcting the markup
one more column added to total line
To test:
1 - Add some debits and credits to accounts
2 - Browse to Reports->Cash register
3 - Select transaction type 'All transactions'
4 - Output to screen
5 - Run report
6 - Note transaction types column is empty
7 - Output to a file
8 - Run report
9 - Open file and note:
amount column is out of place
extra line before total
10 - Apply patch
11 - Repeat and note display and export are correct
---
koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc | 8 ++++----
.../prog/en/modules/reports/cash_register_stats.tt | 9 ++-------
.../en/modules/reports/csv/cash_register_stats.tt | 11 ++++-------
.../opac-tmpl/bootstrap/en/includes/accounts.inc | 8 ++++----
reports/cash_register_stats.pl | 5 ++---
5 files changed, 16 insertions(+), 25 deletions(-)
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc
index e57195717c..ca749fb7c9 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc
@@ -1,16 +1,16 @@
[%- BLOCK account_type_description -%]
<span>
[%- IF account.credit_type_code -%]
- [%- PROCESS credit_type_description credit_type = account.credit_type -%]
+ [%- PROCESS credit_type_description credit_type_code = account.credit_type_code -%]
[%- ELSIF account.debit_type_code -%]
- [%- PROCESS debit_type_description debit_type = account.debit_type -%]
+ [%- PROCESS debit_type_description debit_type_code = account.debit_type_code -%]
[%- END -%]
[%- PROCESS account_status_description account=account -%]
</span>
[%- END -%]
[%- BLOCK debit_type_description -%]
- [%- SWITCH debit_type.code -%]
+ [%- SWITCH debit_type_code -%]
[%- CASE 'ACCOUNT' -%]Account creation fee
[%- CASE 'ACCOUNT_RENEW' -%]Account renewal fee
[%- CASE 'LOST' -%]Lost item
@@ -30,7 +30,7 @@
[%- END -%]
[%- BLOCK credit_type_description -%]
- [%- SWITCH credit_type.code -%]
+ [%- SWITCH credit_type_code -%]
[%- CASE 'PAYMENT' -%]Payment
[%- CASE 'WRITEOFF' -%]Writeoff
[%- CASE 'FORGIVEN' -%]Forgiven
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/cash_register_stats.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/cash_register_stats.tt
index d2f54f421c..ef8efd3bc8 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/cash_register_stats.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/cash_register_stats.tt
@@ -16,6 +16,7 @@
<body id="cash_register_stats" class="rep">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'cat-search.inc' %]
+[% INCLUDE 'accounts.inc' %]
<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
<ol>
@@ -178,13 +179,7 @@
<td>[% loopresul.branchname | html %]</td>
<td>[% loopresul.date | $KohaDates %]</td>
<td>[% loopresul.timestamp | $KohaDates with_hours = 1 %]</td>
- <td>
- [% IF loopresul.credit_type == "ACT" %]
- <span>All payments to the library</span>
- [% ELSE %]
- [%- PROCESS account_type_description account=loopresul -%]
- [% END %]
- </td>
+ <td>[% PROCESS account_type_description account=loopresul %]</td>
<td>[% loopresul.note | html %]</td>
<td style="text-align:right;">[% loopresul.amount | $Price %]</td>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopresul.biblionumber | uri %]">[% loopresul.title | html %]</a></td>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/csv/cash_register_stats.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/csv/cash_register_stats.tt
index 553eaa72cd..87664018b3 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/csv/cash_register_stats.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/csv/cash_register_stats.tt
@@ -1,9 +1,6 @@
[%- USE ItemTypes -%]
[%- INCLUDE csv_headers/reports/cash_register_stats.tt -%]
-[%- INCLUDE empty_line.inc -%]
-[%- FOREACH row IN rows -%]
- [%- FOREACH field IN row; field IF !loop.last; ItemTypes.GetDescription(field) IF loop.last; sep IF !loop.last; END -%]
- [%- INCLUDE empty_line.inc -%]
-[%- END -%]
-TOTAL[%- INCLUDE empty_line.inc -%]
-[%- FOREACH field IN total; field; sep IF !loop.last; END -%]
+[%- FOREACH row IN rows %]
+ [% FOREACH field IN row; field IF !loop.last; ItemTypes.GetDescription(field) IF loop.last; sep IF !loop.last; END %]
+[%- END %]
+TOTAL[% sep %][%- FOREACH field IN total; field; sep IF !loop.last; END -%]
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/accounts.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/accounts.inc
index e57195717c..ca749fb7c9 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/accounts.inc
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/accounts.inc
@@ -1,16 +1,16 @@
[%- BLOCK account_type_description -%]
<span>
[%- IF account.credit_type_code -%]
- [%- PROCESS credit_type_description credit_type = account.credit_type -%]
+ [%- PROCESS credit_type_description credit_type_code = account.credit_type_code -%]
[%- ELSIF account.debit_type_code -%]
- [%- PROCESS debit_type_description debit_type = account.debit_type -%]
+ [%- PROCESS debit_type_description debit_type_code = account.debit_type_code -%]
[%- END -%]
[%- PROCESS account_status_description account=account -%]
</span>
[%- END -%]
[%- BLOCK debit_type_description -%]
- [%- SWITCH debit_type.code -%]
+ [%- SWITCH debit_type_code -%]
[%- CASE 'ACCOUNT' -%]Account creation fee
[%- CASE 'ACCOUNT_RENEW' -%]Account renewal fee
[%- CASE 'LOST' -%]Lost item
@@ -30,7 +30,7 @@
[%- END -%]
[%- BLOCK credit_type_description -%]
- [%- SWITCH credit_type.code -%]
+ [%- SWITCH credit_type_code -%]
[%- CASE 'PAYMENT' -%]Payment
[%- CASE 'WRITEOFF' -%]Writeoff
[%- CASE 'FORGIVEN' -%]Forgiven
diff --git a/reports/cash_register_stats.pl b/reports/cash_register_stats.pl
index 0dcc38f08c..96d3570955 100755
--- a/reports/cash_register_stats.pl
+++ b/reports/cash_register_stats.pl
@@ -164,8 +164,7 @@ if ($do_it) {
$row->{branchname},
$row->{date},
$row->{timestamp},
- $row->{credit_type_code},
- $row->{debit_type_code},
+ $row->{credit_type_code} || $row->{debit_type_code},
$row->{note},
$row->{amount},
$row->{title},
@@ -174,7 +173,7 @@ if ($do_it) {
push (@rows, \@rowValues) ;
}
my @total;
- for (1..6){push(@total,"")};
+ for (1..7){push(@total,"")};
push(@total, $grantotal);
print $input->header(
-type => 'text/csv',
--
2.20.1