From 447337df0bafdfd57291442a4a2f6f201165c576 Mon Sep 17 00:00:00 2001 From: Baptiste Wojtkowski Date: Wed, 10 Jul 2024 17:19:14 +0200 Subject: [PATCH] Bug 18086: Fix the behaviour of GetOverdueMessageTransportTypes See https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18086#c27 for more context : This addresses the second point of this comment. Test concerning GetOverdueMessageTransportTypes were not passing anymore after previous patch. This was due to the behaviour of Koha::Overdue->get_message_types which returns all messages from a rule id, not taking into account the letternumber when considering a OverdueRule (which is totally normal). I fixed the join in GetOverdueMessageTransportTypes to return directly the desired column and use it in the rest of the code Note: Koha::Overdue->get_message_types might not be necessary anymore --- C4/Overdues.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/C4/Overdues.pm b/C4/Overdues.pm index 115df38..013a8ea 100644 --- a/C4/Overdues.pm +++ b/C4/Overdues.pm @@ -779,15 +779,16 @@ sub GetOverdueMessageTransportTypes { }, { join => 'overduerules_transport_types', + '+select' => ['overduerules_transport_types.message_transport_type'], + '+as' => ['message_transport_type'], } - )->next; + ); return [] unless $rule; - my $transport_types = $rule->transport_types; my @mtts; - while ( my $mtt = $transport_types->next ) { - push @mtts, $mtt->message_transport_type; + while ( my $mtt = $rule->next ) { + push @mtts, $mtt->get_column('message_transport_type'); } # Put 'print' in first if exists -- 2.43.0