From 998a47993cbc520a04cd80a124749cd38fc7d1aa Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Mon, 3 Mar 2025 15:30:11 -0100 Subject: [PATCH] Bug 37901: Consider illrequest_id when creating or completing When a new PseudonymizedTransaction is created, consider the presence of illrequest_id and act on it accordingly. --- Koha/PseudonymizedTransaction.pm | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Koha/PseudonymizedTransaction.pm b/Koha/PseudonymizedTransaction.pm index c85bd4dce13..545017f5a79 100644 --- a/Koha/PseudonymizedTransaction.pm +++ b/Koha/PseudonymizedTransaction.pm @@ -22,6 +22,7 @@ use List::MoreUtils qw(any); use Koha::Database; use Koha::Exceptions::Config; use Koha::Patrons; +use Koha::ILL::Requests; use base qw(Koha::Object); @@ -113,6 +114,40 @@ sub new_from_statistic { } } + if ( $statistic->illrequest_id ) { + my $illrequest = Koha::ILL::Requests->find( $statistic->illrequest_id ); + if ($illrequest) { + my @illattributes_to_pseudonymize = qw( + type + ); + + my $extended_attributes_to_pseudonymize = + $illrequest->extended_attributes->search( { type => { -in => \@illattributes_to_pseudonymize } } ); + + while ( my $attribute = $extended_attributes_to_pseudonymize->next ) { + $self->_result->create_related( + 'pseudonymized_metadata_values', + { + key => $attribute->type, + value => $attribute->value, + tablename => 'illrequestattributes', + } + ); + } + + if ( $illrequest->backend ) { + $self->_result->create_related( + 'pseudonymized_metadata_values', + { + key => 'backend', + value => $illrequest->backend, + tablename => 'illrequestattributes', + } + ); + } + } + } + return $self; } -- 2.39.5