From a4edd5ca08debd4e37ddc890ebe17ce9f55028d4 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 (cherry picked from commit fec97b4ae8de760cb62b9d9c79c91823b97da6f2) Signed-off-by: Lucas Gass --- Koha/Plugins.pm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Koha/Plugins.pm b/Koha/Plugins.pm index a3c47006b5..b72557284b 100644 --- a/Koha/Plugins.pm +++ b/Koha/Plugins.pm @@ -116,9 +116,16 @@ sub get_enabled_plugins { my $enabled_plugins = Koha::Cache::Memory::Lite->get_from_cache(ENABLED_PLUGINS_CACHE_KEY); unless ($enabled_plugins) { $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) { unless (can_load(modules => { $plugin_class => undef }, nocache => 1)) { warn "Failed to load $plugin_class: $Module::Load::Conditional::ERROR"; -- 2.39.5