Bug 29271: Fix cash register report results
authorNick Clemens <nick@bywatersolutions.com>
Tue, 19 Oct 2021 13:03:07 +0000 (13:03 +0000)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 21 Oct 2021 08:09:50 +0000 (10:09 +0200)
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

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc
koha-tmpl/intranet-tmpl/prog/en/modules/reports/cash_register_stats.tt
koha-tmpl/intranet-tmpl/prog/en/modules/reports/csv/cash_register_stats.tt
koha-tmpl/opac-tmpl/bootstrap/en/includes/accounts.inc
reports/cash_register_stats.pl

index e571957..ca749fb 100644 (file)
@@ -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
index 545689a..5efef32 100644 (file)
@@ -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>
                 <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>
index 553eaa7..8766401 100644 (file)
@@ -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 -%]
index e571957..ca749fb 100644 (file)
@@ -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
index 0dcc38f..96d3570 100755 (executable)
@@ -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',