From 072a5ffe9f7daeeb3af858f3b1305582e907acf3 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). --- 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