From 0cd7cbb447f8d809d8d3ac5eb8c5a7cb6497e876 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Tue, 13 Dec 2016 13:23:18 +0000 Subject: [PATCH] Bug 15985 - Include transacting library in fines Some librarians would like to see the library an item was checked out from in the fines table on the fines payment page. Test Plan: 1) Apply this patch 2) Find a patron with overdue items that have fines 3) Browse to the pay fines page 4) Note the new "checked out from" column Signed-off-by: Jason Robb --- Koha/Checkout.pm | 14 +++++++++++++- koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt | 9 ++++++--- members/pay.pl | 2 ++ t/db_dependent/Koha/Checkouts.t | 6 +++++- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/Koha/Checkout.pm b/Koha/Checkout.pm index b7a752c..2678c60 100644 --- a/Koha/Checkout.pm +++ b/Koha/Checkout.pm @@ -21,11 +21,12 @@ package Koha::Checkout; use Modern::Perl; use Carp; +use DateTime; use Koha::Database; -use DateTime; use Koha::DateUtils; use Koha::Items; +use Koha::Libraries; use base qw(Koha::Object); @@ -88,6 +89,17 @@ sub patron { return Koha::Patron->_new_from_dbic( $patron_rs ); } +=head library + +=cut + +sub library { + my ($self) = @_; + + my $library_rs = $self->_result->branch; + return Koha::Library->_new_from_dbic( $library_rs ); +} + =head3 type =cut diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt index c9a5a30..1a44435 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt @@ -76,6 +76,7 @@ function enableCheckboxActions(){   Fines & charges + Checked out from Description Payment note Account type @@ -85,7 +86,7 @@ function enableCheckboxActions(){ - Total due: + Total due: [% total | $Price %] @@ -110,6 +111,9 @@ function enableCheckboxActions(){ + + [% line.checkout.library.branchname %] + [% SWITCH line.accounttype %] [% CASE 'Pay' %]Payment, thanks @@ -145,8 +149,7 @@ function enableCheckboxActions(){ [% END %] [% IF ( account_grp.total ) %] - - Sub total: + Sub total: [% account_grp.total | $Price %] [% END %] diff --git a/members/pay.pl b/members/pay.pl index a248db0..68466f5 100755 --- a/members/pay.pl +++ b/members/pay.pl @@ -42,6 +42,7 @@ use C4::Overdues; use C4::Members::Attributes qw(GetBorrowerAttributes); use Koha::Patrons; use Koha::Patron::Images; +use Koha::Checkouts; use Koha::Patron::Categories; use URI::Escape; @@ -141,6 +142,7 @@ sub add_accounts_to_template { my $biblio = $item->biblio; $account_line->{biblionumber} = $biblio->biblionumber; $account_line->{title} = $biblio->title; + $account_line->{checkout} = Koha::Checkouts->find($accountline->{issue_id}); } push @accounts, $account_line; } diff --git a/t/db_dependent/Koha/Checkouts.t b/t/db_dependent/Koha/Checkouts.t index c8ec4c5..8cbffc6 100644 --- a/t/db_dependent/Koha/Checkouts.t +++ b/t/db_dependent/Koha/Checkouts.t @@ -19,7 +19,7 @@ use Modern::Perl; -use Test::More tests => 7; +use Test::More tests => 9; use Koha::Checkouts; use Koha::Database; @@ -49,6 +49,9 @@ my $new_checkout_2 = Koha::Checkout->new( } )->store; +is( $new_checkout_1->library->id, $library->{branchcode}, 'Got correct library for checkout1' ); +is( $new_checkout_2->library->id, $library->{branchcode}, 'Got correct library for checkout2' ); + like( $new_checkout_1->issue_id, qr|^\d+$|, 'Adding a new checkout should have set the issue_id' ); is( Koha::Checkouts->search->count, $nb_of_checkouts + 2, 'The 2 checkouts should have been added' ); @@ -103,5 +106,6 @@ subtest 'patron' => sub { $retrieved_checkout_1->delete; is( Koha::Checkouts->search->count, $nb_of_checkouts + 1, 'Delete should have deleted the checkout' ); + $schema->storage->txn_rollback; -- 2.10.2