From 8e00afb5e9d7bb83984154393565b7aa1488161e Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 12 Jun 2024 09:05:53 -0400 Subject: [PATCH] Bug 37075: Message queue processor will fail to send any message unless letter_code is passed For reasons unknown, GetOptions is inserting an empty string into the letter_code list. If you are running the script with a letter code filter, the empty string is added to the OR so it functions. If no letter_code is passed, the search requires the letter code to be an empty string, which will of course fail. Even more perplexing is that this does not happen for the type list which is essentially identical code. Test Plan: 1) Generate some messages in the message queue 2) Run `process_message_queue.pl -v -c` 3) Note nothing happens 4) Apply this patch 5) Repeat step 2 6) Messages are sent! Signed-off-by: David Nind Signed-off-by: Martin Renvoize --- misc/cronjobs/process_message_queue.pl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/misc/cronjobs/process_message_queue.pl b/misc/cronjobs/process_message_queue.pl index 0662b4f636d..0c4ff176f7e 100755 --- a/misc/cronjobs/process_message_queue.pl +++ b/misc/cronjobs/process_message_queue.pl @@ -89,6 +89,9 @@ catch { cronlogaction({ info => $command_line_options }); +# Remove empty elements, see bug 37075 +@letter_code = grep { $_ ne q{} } @letter_code; + if ( C4::Context->config("enable_plugins") ) { my @plugins = Koha::Plugins->new->GetPlugins({ method => 'before_send_messages', -- 2.45.2