From fec97b4ae8de760cb62b9d9c79c91823b97da6f2 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Fri, 5 Jan 2024 09:04:33 +0100 Subject: [PATCH] Bug 35070: Fix get_enabled_plugins when database is not created yet Koha::Plugins::get_enabled_plugins is called by Koha::Plugins::call which is called by C4::Templates->new, which is used in the web installer when the database is not created yet Signed-off-by: Katrin Fischer (cherry picked from commit 3df1cb33c277925b689b1e45c736ea8532bffdff) Signed-off-by: Fridolin Somers --- Koha/Plugins.pm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Koha/Plugins.pm b/Koha/Plugins.pm index 4bbfc0c2dc..72ae308f3f 100644 --- a/Koha/Plugins.pm +++ b/Koha/Plugins.pm @@ -117,9 +117,16 @@ sub get_enabled_plugins { unless ($enabled_plugins) { my $verbose = $params->{verbose} // $class->_verbose; $enabled_plugins = []; - my $rs = Koha::Database->schema->resultset('PluginData'); - $rs = $rs->search({ plugin_key => '__ENABLED__', plugin_value => 1 }); - my @plugin_classes = $rs->get_column('plugin_class')->all(); + + my @plugin_classes; + try { + my $rs = Koha::Database->schema->resultset('PluginData'); + $rs = $rs->search({ plugin_key => '__ENABLED__', plugin_value => 1 }); + @plugin_classes = $rs->get_column('plugin_class')->all(); + } catch { + warn "$_"; + }; + foreach my $plugin_class (@plugin_classes) { next unless can_load( modules => { $plugin_class => undef }, verbose => $verbose, nocache => 1 ); -- 2.39.5