From ec02a68f1cd4d51840b2ae5fa2e9d3307a3fe62b Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Thu, 18 Nov 2021 15:47:02 +0000 Subject: [PATCH] Bug 29519: (follow-up) Use 'item' relationship This patch adds the missing 'item' relationship in Checkouts::ReturnClaim and then uses it from the resolve method. This improve the reliability of the resolution code so it works when the item has already been checked in (without having to check Old::Checkouts). Signed-off-by: Andrew Fuerste-Henry --- Koha/Checkouts/ReturnClaim.pm | 16 +++++++++++++++- Koha/Schema/Result/ReturnClaim.pm | 15 +++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/Koha/Checkouts/ReturnClaim.pm b/Koha/Checkouts/ReturnClaim.pm index ff10d638f9..dbbe89a3d9 100644 --- a/Koha/Checkouts/ReturnClaim.pm +++ b/Koha/Checkouts/ReturnClaim.pm @@ -102,6 +102,20 @@ sub patron { return Koha::Patron->_new_from_dbic( $borrower ) if $borrower; } +=head3 item + + my $item = $claim->item; + +Return the return claim item + +=cut + +sub item { + my ( $self ) = @_; + my $item_rs = $self->_result->item; + return Koha::Item->_new_from_dbic( $item_rs ); +} + =head3 resolve $claim->resolve( @@ -138,7 +152,7 @@ sub resolve { )->store; if ( defined $params->{new_lost_status} ) { - $self->checkout->item->itemlost( $params->{new_lost_status} )->store; + $self->item->itemlost( $params->{new_lost_status} )->store; } } ); diff --git a/Koha/Schema/Result/ReturnClaim.pm b/Koha/Schema/Result/ReturnClaim.pm index 4e2c56c40b..9e67c7f0e7 100644 --- a/Koha/Schema/Result/ReturnClaim.pm +++ b/Koha/Schema/Result/ReturnClaim.pm @@ -316,6 +316,21 @@ __PACKAGE__->belongs_to( }, ); +=head2 item + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "item", + "Koha::Schema::Result::Item", + { itemnumber => "itemnumber" }, + { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, +); + sub koha_objects_class { 'Koha::Checkouts::ReturnClaims'; } -- 2.20.1