From 7d6426190d109bc22f265398d9d70be8fd447509 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 7 Jun 2023 11:05:18 +0200 Subject: [PATCH] Bug 33885: Make Koha::Acq::Order->creator return undef if no creator If the account of the creator of an order has been deleted we should return undef here, instead of crashing with GET /api/v1/acquisitions/orders: unhandled exception (Mojo::Exception)< --- Koha/Acquisition/Order.pm | 1 + t/db_dependent/Koha/Acquisition/Order.t | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Koha/Acquisition/Order.pm b/Koha/Acquisition/Order.pm index 73f3a9fdcd..e0fea073f1 100644 --- a/Koha/Acquisition/Order.pm +++ b/Koha/Acquisition/Order.pm @@ -425,6 +425,7 @@ Retrieves patron that created this order. sub creator { my ( $self ) = @_; my $creator_rs = $self->_result->creator; + return unless $creator_rs; return Koha::Patron->_new_from_dbic( $creator_rs ); } diff --git a/t/db_dependent/Koha/Acquisition/Order.t b/t/db_dependent/Koha/Acquisition/Order.t index 22e4af6225..8a47a5cfce 100755 --- a/t/db_dependent/Koha/Acquisition/Order.t +++ b/t/db_dependent/Koha/Acquisition/Order.t @@ -639,7 +639,7 @@ subtest 'filter_by_current & filter_by_cancelled' => sub { }; subtest 'creator ()' => sub { - plan tests => 1; + plan tests => 2; $schema->storage->txn_begin; @@ -650,6 +650,10 @@ subtest 'creator ()' => sub { is($creator->borrowernumber, $patron->borrowernumber, 'Patron is order creator'); + $creator->delete; + + is( $order->get_from_storage->creator, undef ); + $schema->storage->txn_rollback; }; -- 2.30.2