From 13bced8ee578c45c301927ce6f9fa9f4e1054b88 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Mon, 25 Mar 2019 12:55:03 +0000 Subject: [PATCH] Bug 22541: Invoice adjustments should show invoice number and include link on ordered.pl and spent.pl To test: 1 - Find a vendor in acquisitions 2 - Click 'receive shipment' 3 - Create an invoice 4 - Click 'Finish receiving' 5 - Add an adjustment that encumbers while open and update adjustments 6 - Go to acqui-home and click on the ordered total for the fund with the adjustment 7 - Note the invoice adjustment shows the invoice id and does not link 8 - Add another invoice and another adjustment, but close the invoice this time 9 - Go to acqui-home and click on the spent total for the fund with the adjustment 10 - Note the invoice adjustment shows the invoice id and does not link 11 - Apply patch 12 - Visit the spent and ordered pages and note the adjustments show invoicenumber and are links 13 - prove -v t/db_dependent/Koha/Acquisition/Invoice/Adjustments.t Signed-off-by: Liz Rea --- C4/Acquisition.pm | 1 - Koha/Acquisition/Invoice/Adjustment.pm | 15 +++++++++++++++ acqui/ordered.pl | 2 +- acqui/spent.pl | 2 +- koha-tmpl/intranet-tmpl/prog/en/modules/acqui/ordered.tt | 6 +++++- koha-tmpl/intranet-tmpl/prog/en/modules/acqui/spent.tt | 12 ++++++++++-- t/db_dependent/Koha/Acquisition/Invoice/Adjustments.t | 10 +++++++++- 7 files changed, 41 insertions(+), 7 deletions(-) diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index de85953e89..6a8df0280a 100644 --- a/C4/Acquisition.pm +++ b/C4/Acquisition.pm @@ -1893,7 +1893,6 @@ cancelled. sub DelOrder { my ( $bibnum, $ordernumber, $delete_biblio, $reason ) = @_; - my $error; my $dbh = C4::Context->dbh; my $query = " diff --git a/Koha/Acquisition/Invoice/Adjustment.pm b/Koha/Acquisition/Invoice/Adjustment.pm index e3d0bc206c..4d87a94ad9 100644 --- a/Koha/Acquisition/Invoice/Adjustment.pm +++ b/Koha/Acquisition/Invoice/Adjustment.pm @@ -20,6 +20,7 @@ use Modern::Perl; use Carp; use Koha::Database; +use Koha::Acquisition::Invoice; use base qw(Koha::Object); @@ -33,6 +34,20 @@ Koha::Acquisition::Invoice::Adjustment - Koha Invoice Adjustment class =cut +=head3 invoice + +my $invoice = $adjustment->invoice; + +Return the invoice for this adjustment + +=cut + +sub invoice { + my ( $self ) = @_; + my $invoice_rs = $self->_result->invoiceid; + return Koha::Acquisition::Invoice->_new_from_dbic( $invoice_rs ); +} + =head3 type =cut diff --git a/acqui/ordered.pl b/acqui/ordered.pl index 3eb0519c65..1ecf813444 100755 --- a/acqui/ordered.pl +++ b/acqui/ordered.pl @@ -107,7 +107,7 @@ while ( my $data = $sth->fetchrow_hashref ) { } } -my $adjustments = Koha::Acquisition::Invoice::Adjustments->search({budget_id => $fund_id, closedate => undef, encumber_open => 1 }, { join => 'invoiceid' } ); +my $adjustments = Koha::Acquisition::Invoice::Adjustments->search({budget_id => $fund_id, closedate => undef, encumber_open => 1 }, { prefetch => 'invoiceid' } ); while ( my $adj = $adjustments->next ){ $total += $adj->adjustment; } diff --git a/acqui/spent.pl b/acqui/spent.pl index 80d93617e2..5d02f618fb 100755 --- a/acqui/spent.pl +++ b/acqui/spent.pl @@ -135,7 +135,7 @@ while (my $data = $sth->fetchrow_hashref) { } $sth->finish; -my $adjustments = Koha::Acquisition::Invoice::Adjustments->search({budget_id => $bookfund, closedate => { '!=' => undef } }, { join => 'invoiceid' } ); +my $adjustments = Koha::Acquisition::Invoice::Adjustments->search({budget_id => $bookfund, closedate => { '!=' => undef } }, { prefetch => 'invoiceid' }, ); while ( my $adj = $adjustments->next ){ $total += $adj->adjustment; } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/ordered.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/ordered.tt index 6e20dfb250..5685d7e07f 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/ordered.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/ordered.tt @@ -77,7 +77,11 @@ [% FOREACH adjustment IN adjustments %] - Adjustment cost for invoice [% adjustment.invoiceid | html %] + Adjustment cost for invoice + + [% adjustment.invoice.invoicenumber | html %] + + [% adjustment.adjustment | $Price %] [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/spent.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/spent.tt index 78cf32e573..2e5ca3f830 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/spent.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/spent.tt @@ -87,7 +87,11 @@ [% FOREACH shipmentcost IN shipmentcosts %] - Shipping cost for invoice [% shipmentcost.invoicenumber | html %] + Shipping cost for invoice + + [% shipmentcost.invoicenumber | html %] + + [% shipmentcost.shipmentcost | $Price %] [% END %] @@ -96,7 +100,11 @@ [% FOREACH adjustment IN adjustments %] - Adjustment cost for invoice [% adjustment.invoiceid | html %] + Adjustment cost for invoice + + [% adjustment.invoice.invoicenumber | html %] + + [% adjustment.adjustment | $Price %] [% END %] diff --git a/t/db_dependent/Koha/Acquisition/Invoice/Adjustments.t b/t/db_dependent/Koha/Acquisition/Invoice/Adjustments.t index 4c970e2dbf..d5e2309eb0 100644 --- a/t/db_dependent/Koha/Acquisition/Invoice/Adjustments.t +++ b/t/db_dependent/Koha/Acquisition/Invoice/Adjustments.t @@ -19,7 +19,7 @@ use Modern::Perl; -use Test::More tests => 6; +use Test::More tests => 7; use Koha::Database; @@ -64,4 +64,12 @@ is( $retrieved_adj->reason, $new_adj->reason, 'Find an adjustment by id should r $retrieved_adj->delete; is( Koha::Acquisition::Invoice::Adjustments->search->count, $nb_of_adjs + 1, 'Delete should have deleted the adjustment' ); +subtest 'invoice' => sub { + plan tests => 2; + + my $invoice = $retrieved_adj->invoice; + is( ref( $invoice ), 'Koha::Acquisition::Invoice', 'Koha::Acquisition::Invoice::Adjustment->invoice should return a Koha::Acquisition::Invoice' ); + is( $invoice->invoiceid, $retrieved_adj->invoiceid, 'Koha::Acquisition::Invoice::Adjustment->invoice should return the correct invoice' ); +}; + $schema->storage->txn_rollback; -- 2.11.0