From aef92622299fc8a5941a05033e1225295b1f1334 Mon Sep 17 00:00:00 2001 From: Kyle Hall Date: Mon, 27 Jun 2022 08:13:39 -0400 Subject: [PATCH] Bug 31054: Manual importing for EDIFACT invoices fails with a 500 error page Error in plack log is: Can't locate object method "new" via package "Koha::Plugin::Com::ByWaterSolutions::MyEdifactPlugin" (perhaps you forgot to load "Koha::Plugin::Com::ByWaterSolutions::MyEdifactPlugin"?) at /usr/share/koha/lib/Koha/EDI.pm line 219. Test Plan: 1) Set EdifactInvoiceImport to "Don't" 2) Configure an EDI vendor to use an EDIFACT plugin 3) Attempt to import an invoice file 4) You will be shown an error page 5) Apply this patch 6) Restart all the things! 7) Attempt to import another invoice file 8) It works! Signed-off-by: Martin Renvoize Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 181b0c16feeb0645851aa586c59c1fd5de8e6053) Signed-off-by: Lucas Gass (cherry picked from commit 20a9c16e6b505d081f6875cce66fd2fb6ee66bbc) Signed-off-by: Arthur Suzuki --- Koha/EDI.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Koha/EDI.pm b/Koha/EDI.pm index e4e7478259..f35f09ed16 100644 --- a/Koha/EDI.pm +++ b/Koha/EDI.pm @@ -41,6 +41,7 @@ use Koha::Edifact; use C4::Log qw( logaction ); use Log::Log4perl; use Text::Unidecode qw( unidecode ); +use Koha::Plugins; # Adds plugin dirs to @INC use Koha::Plugins::Handler; use Koha::Acquisition::Baskets; use Koha::Acquisition::Booksellers; @@ -232,6 +233,7 @@ sub process_invoice { # Plugin has its own invoice processor, only run it and not the standard invoice processor below if ( $plugin_class ) { + eval "require $plugin_class"; # Import the class, eval is needed because requiring a string doesn't work like requiring a bareword my $plugin = $plugin_class->new(); if ( $plugin->can('edifact_process_invoice') ) { Koha::Plugins::Handler->run( -- 2.39.5