Bug 19036: (QA follow-up) Add credit_number handling to POS
authorMartin Renvoize <martin.renvoize@ptfs-europe.com>
Thu, 6 Aug 2020 11:28:48 +0000 (12:28 +0100)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 20 Aug 2020 10:31:59 +0000 (12:31 +0200)
This patch adds the display of 'credit_number' as a replacement for the
internal 'accountlines_id' as the transaction identifier on the
register summary page when using cash registers.

Test plan
1/ Enable 'UseCashRegisters'
2/ Enable 'EnablePointOfSale'
3/ Enable at least one 'Debit type' to allow 'sale'
4/ Add at least one 'Cash register'
5/ Enable 'AutoCreditNumber'
6/ 'Enable automatic generation of credit number' for the 'Purchase'
credit type
7/ Pay for an item via the Point of Sale page
8/ Navigate to the 'register' page to display the purchase details
9/ Confirm that the 'Transaction' is listed with a number of the form
specified in the 'AutoCreditNumber' preference
10/ Refund an item from this screen
11/ Note that the 'accountlines_id' is used for this refund as we did
not specify the 'Refund' credit type to use the 'AutoCreditNumber'
system
12/ Signoff

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/modules/pos/register.tt

index c566c57..f995580 100644 (file)
@@ -77,7 +77,7 @@
                             [% IF credit.debit %]
                             <tr>
                                 <td>[% accountline.accountlines_id | html %]</td>
-                                <td>{ "type": "credit", "description": "[%- PROCESS account_type_description account=accountline -%] ([% accountline.payment_type | html %])", "amount": "[% accountline.amount * -1 | $Price %]" }</td>
+                                <td>{ "type": "credit", "identifier": "[%- accountline.credit_number | html -%]", "description": "[%- PROCESS account_type_description account=accountline -%] ([% accountline.payment_type | html %])", "amount": "[% accountline.amount * -1 | $Price %]" }</td>
                                 <td></td>
                                 <td>
                                     [%- PROCESS account_type_description account=credit.debit -%]
                             [% IF debit.credit %]
                             <tr>
                                 <td>[% accountline.accountlines_id | html %]</td>
-                                <td>{ "type": "debit", "description": "[%- PROCESS account_type_description account=accountline -%] ([% accountline.payment_type | html %])", "amount": "[% accountline.amount * -1 | $Price %]" }</td>
+                                <td>{ "type": "debit", "identifier": "[%- accountline.credit_number | html -%]", "description": "[%- PROCESS account_type_description account=accountline -%] ([% accountline.payment_type | html %])", "amount": "[% accountline.amount * -1 | $Price %]" }</td>
                                 <td></td>
                                 <td>[%- PROCESS account_type_description account=debit.credit -%]</td>
                                 <td>
                             [% IF credit.debit %]
                             <tr>
                                 <td>[% accountline.accountlines_id | html %]</td>
-                                <td>{ "type": "credit", "description": "[%- PROCESS account_type_description account=accountline -%] ([% accountline.payment_type | html %])", "amount": "[% accountline.amount * -1 | $Price %]" }</td>
+                                <td>{ "type": "credit", "identifier": "[%- accountline.credit_number | html -%]", "description": "[%- PROCESS account_type_description account=accountline -%] ([% accountline.payment_type | html %])", "amount": "[% accountline.amount * -1 | $Price %]" }</td>
                                 <td></td>
                                 <td>
                                     [%- PROCESS account_type_description account=credit.debit -%]
                             [% IF debit.credit %]
                             <tr>
                                 <td>[% accountline.accountlines_id | html %]</td>
-                                <td>{ "type": "debit", "description": "[%- PROCESS account_type_description account=accountline -%] ([% accountline.payment_type | html %])", "amount": "[% accountline.amount * -1 | $Price %]" }</td>
+                                <td>{ "type": "debit", "identifier": "[%- accountline.credit_number | html -%]", "description": "[%- PROCESS account_type_description account=accountline -%] ([% accountline.payment_type | html %])", "amount": "[% accountline.amount * -1 | $Price %]" }</td>
                                 <td></td>
                                 <td>[%- PROCESS account_type_description account=debit.credit -%]</td>
                                 <td>[%- IF debit.credit.description %][% debit.credit.description | html %][% END %]
                 dataSrc: 0,
                 startRender: function ( rows, group ) {
                     var details = JSON.parse(rows.data().pluck(1).pop());
+                    var identifier = details.identifier || group;
                     return $('<tr class="'+details.type+'"/>')
-                        .append( '<td>'+group+'</td>' )
+                        .append( '<td>'+identifier+'</td>' )
                         .append( '<td colspan="2">'+details.description+'</td>' )
                         .append( '<td>'+details.amount+'</td>' )
                         .append( '<td><button class="printReceipt btn btn-default btn-xs" data-accountline="'+group+'"><i class="fa fa-print"></i> ' + _("Print receipt") + '</button></td>');
                 dataSrc: 0,
                 startRender: function ( rows, group ) {
                     var details = JSON.parse(rows.data().pluck(1).pop());
+                    var identifier = details.identifier || group;
                     return $('<tr class="'+details.type+'"/>')
-                        .append( '<td>'+group+'</td>' )
+                        .append( '<td>'+identifier+'</td>' )
                         .append( '<td colspan="2">'+details.description+'</td>' )
                         .append( '<td>'+details.amount+'</td>' )
                         .append( '<td><button class="printReceipt btn btn-default btn-xs" data-accountline="'+group+'"><i class="fa fa-print"></i> Print receipt</button></td>');