From b9a709af45297542b8a81952e9a7d1f80dcd9f6f Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Fri, 3 Jan 2025 12:15:47 -0100 Subject: [PATCH] Bug 38751: Update Standard ILL backend migrate Make use of newly updated ILL::Request->extended_attributes method instead of creating the query manually The test plan in bug 38819 fails without this patch (page explodes with duplicate ID error). It's the same cause as the one being fixed here in bug 38751 so I'm submitting this here. --- Koha/ILL/Backend/Standard.pm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Koha/ILL/Backend/Standard.pm b/Koha/ILL/Backend/Standard.pm index 1054efd296b..231045b19e9 100644 --- a/Koha/ILL/Backend/Standard.pm +++ b/Koha/ILL/Backend/Standard.pm @@ -710,19 +710,19 @@ sub migrate { my $original_attributes = $original_request->extended_attributes->search( { type => { '-in' => \@default_attributes } } ); - my $request_details = - { map { $_->type => $_->value } ( $original_attributes->as_list ) }; - $request_details->{migrated_from} = $original_request->illrequest_id; - while ( my ( $type, $value ) = each %{$request_details} ) { - Koha::ILL::Request::Attribute->new( - { - illrequest_id => $new_request->illrequest_id, - column_exists( 'illrequestattributes', 'backend' ) ? ( backend => "Standard" ) : (), - type => $type, - value => $value, - } - )->store; - } + my @request_details_array = map { + { + 'type' => $_->type, + 'value' => $_->value, + } + } $original_attributes->as_list; + + push @request_details_array, { + 'type' => 'migrated_from', + 'value' => $original_request->illrequest_id, + }; + + $new_request->extended_attributes( \@request_details_array ); return { error => 0, -- 2.39.5