From b02b5bb03a466f943677ef7c0140eadffbc8378b Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Thu, 18 Nov 2021 15:47:02 +0000 Subject: [PATCH] Bug 29495: (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: Tomas Cohen Arazi --- 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 ebbfd414a8..7dc5a2609c 100644 --- a/Koha/Checkouts/ReturnClaim.pm +++ b/Koha/Checkouts/ReturnClaim.pm @@ -101,6 +101,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( @@ -137,7 +151,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.34.1