Browse Source

Bug 24665: Add support for filtering by cash register

This patch makes it possible to filter on cash register
on the cash register statistics page.

To test:
- Activate UseCashRegisters
- Create a cash register or more to use
- Create some manual fees and fines
- Pay some of them off
- Go to Tools > Cash register statistics
- Test if the new filter for cash registers works as it should

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
tags/v20.11.00
3 changed files with 29 additions and 3 deletions
  1. +8
    -1
      Koha/Template/Plugin/Registers.pm
  2. +12
    -2
      koha-tmpl/intranet-tmpl/prog/en/modules/reports/cash_register_stats.tt
  3. +9
    -0
      reports/cash_register_stats.pl

+ 8
- 1
Koha/Template/Plugin/Registers.pm View File

@@ -91,9 +91,16 @@ sub all {
$where->{branch} = C4::Context->userenv->{'branch'}
if ( $filters->{current_branch} && C4::Context->userenv );
my $registers = Koha::Cash::Registers->search($where)->unblessed();

my $selected = $params->{selected};
for my $register ( @{$registers} ) {
$register->{selected} = ( defined( $self->session_register_id )
if ( defined($selected) ) {
$register->{selected} = ( $register->{id} == $selected ) ? 1 : 0;
}
else {
$register->{selected} = ( defined( $self->session_register_id )
&& $register->{id} eq $self->session_register_id ) ? 1 : 0;
}
}

return $registers;


+ 12
- 2
koha-tmpl/intranet-tmpl/prog/en/modules/reports/cash_register_stats.tt View File

@@ -1,8 +1,11 @@
[% USE raw %]
[% USE Asset %]
[% USE Branches %]
[% USE Koha %]
[% USE KohaDates %]
[% USE Price %]
[% USE ItemTypes %]
[% USE Registers %]
[% SET footerjs = 1 %]
[% PROCESS 'accounts.inc' %]
[% INCLUDE 'doc-head-open.inc' %]
@@ -96,9 +99,15 @@
[% END %]
[% END %]
</select>
</td>
</tr>
</li>
[% IF Koha.Preference('UseCashRegisters') %]
<li>
<label for="registerid">Cash register: </label>
<select name="registerid" id="registerid">
[% PROCESS options_for_registers registers => Registers.all( selected => registerid ) %]
</select>
</li>
[% END %]
</ol>
</fieldset>

@@ -186,6 +195,7 @@
</div> <!-- /.row -->

[% MACRO jsinclude BLOCK %]
[% Asset.js("js/register_selection.js") | $raw %]
[% INCLUDE 'datatables.inc' %]
<script id="js">
$(document).ready(function() {


+ 9
- 0
reports/cash_register_stats.pl View File

@@ -61,6 +61,7 @@ my @debit_types =
Koha::Account::DebitTypes->search()->as_list;
my @credit_types =
Koha::Account::CreditTypes->search()->as_list;
my $registerid;

if ($do_it) {

@@ -94,6 +95,12 @@ if ($do_it) {
push @extra_params, $manager_branchcode;
}

my $whereRegister = q{};
$registerid = $input->param("registerid");
if ($registerid) {
$whereRegister = q{ AND al.register_id = ?};
push @extra_params, $registerid;
}

my $query = "
SELECT round(amount,2) AS amount, description,
@@ -110,6 +117,7 @@ if ($do_it) {
WHERE CAST(al.date AS DATE) BETWEEN ? AND ?
$whereTType
$whereBranchCode
$whereRegister
ORDER BY al.date
";
my $sth_stats = $dbh->prepare($query) or die "Unable to prepare query " . $dbh->errstr;
@@ -191,6 +199,7 @@ $template->param(
branchloop => Koha::Libraries->search({}, { order_by => ['branchname'] })->unblessed,
debit_types => \@debit_types,
credit_types => \@credit_types,
registerid => $registerid,
CGIsepChoice => GetDelimiterChoices,
);



Loading…
Cancel
Save