Bug 24157: Add new method Acq::Invoice::Adjustement->fund
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 13 Dec 2019 16:37:36 +0000 (17:37 +0100)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 30 Jul 2020 15:30:23 +0000 (17:30 +0200)
Moving to its own commit in case we want to cherry-pick or move it to
its own bug report.

Sponsored-by: Galway-Mayo Institute of Technology

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Koha/Acquisition/Invoice/Adjustment.pm
t/db_dependent/Koha/Acquisition/Invoice/Adjustments.t

index 4dbe902..0d0bac7 100644 (file)
@@ -20,7 +20,8 @@ use Modern::Perl;
 use Carp;
 
 use Koha::Database;
-use Koha::Acquisition::Invoice;
+use Koha::Acquisition::Invoices;
+use Koha::Acquisition::Funds;
 
 use base qw(Koha::Object);
 
@@ -48,6 +49,21 @@ sub invoice {
     return Koha::Acquisition::Invoice->_new_from_dbic( $invoice_rs );
 }
 
+=head3 fund
+
+my $fund = $adjustment->fund;
+
+Return the fund for this adjustment
+
+=cut
+
+sub fund {
+    my ( $self ) = @_;
+    my $fund_rs = $self->_result->budget;
+    return unless $fund_rs;
+    return Koha::Acquisition::Fund->_new_from_dbic( $fund_rs );
+}
+
 =head3 type
 
 =cut
index d5e2309..3419672 100644 (file)
@@ -19,7 +19,7 @@
 
 use Modern::Perl;
 
-use Test::More tests => 7;
+use Test::More tests => 8;
 
 use Koha::Database;
 
@@ -72,4 +72,12 @@ subtest 'invoice' => sub {
     is( $invoice->invoiceid, $retrieved_adj->invoiceid, 'Koha::Acquisition::Invoice::Adjustment->invoice should return the correct invoice' );
 };
 
+subtest 'fund' => sub {
+    plan tests => 2;
+
+    my $fund = $retrieved_adj->fund;
+    is( ref( $fund ), 'Koha::Acquisition::Fund', 'Koha::Acquisition::Invoice::Adjustment->fund should return a Koha::Acquisition::Fund' );
+    is( $fund->budget_id, $retrieved_adj->budget_id, 'Koha::Acquisition::Invoice::Adjustment->fund should return the correct fund ' );
+};
+
 $schema->storage->txn_rollback;