From a6eab64e53398e31d36a07cce6638336f304b9db 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 Signed-off-by: Katrin Fischer --- 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 0662b4f636..0c4ff176f7 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.39.5