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>
20.11.x
Martin Renvoize 1 year ago
committed by Jonathan Druart
parent
commit
e5162d9135
  1. 9
      Koha/Template/Plugin/Registers.pm
  2. 14
      koha-tmpl/intranet-tmpl/prog/en/modules/reports/cash_register_stats.tt
  3. 9
      reports/cash_register_stats.pl

9
Koha/Template/Plugin/Registers.pm

@ -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;

14
koha-tmpl/intranet-tmpl/prog/en/modules/reports/cash_register_stats.tt

@ -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
reports/cash_register_stats.pl

@ -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