From: Marcin Haba Date: Thu, 29 Feb 2024 09:27:49 +0000 (+0100) Subject: baculum: Fix config does not exist error in resource list endpoint X-Git-Tag: Release-15.0.2~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e90117c2129d8fbf66df81b973d77cd3b0c2b869;p=thirdparty%2Fbacula.git baculum: Fix config does not exist error in resource list endpoint --- diff --git a/gui/baculum/protected/API/Pages/API/Config.php b/gui/baculum/protected/API/Pages/API/Config.php index f78e2d4d5..b46085299 100644 --- a/gui/baculum/protected/API/Pages/API/Config.php +++ b/gui/baculum/protected/API/Pages/API/Config.php @@ -63,20 +63,36 @@ class Config extends BaculumAPIServer { $resource_name, $opts ); - if ($config['exitcode'] === 0 && count($config['output']) == 0) { + $resource_config = []; + if ($config['exitcode'] === 0) { + $resource_config = $config['output']; + } else { + $emsg = sprintf( + '%s, Output=>%s, Error=>%d', + BaculaConfigError::MSG_ERROR_WRONG_EXITCODE, + var_export($config['output'], true), + $config['exitcode'] + ); + $this->output = $emsg; + $this->error = BaculaConfigError::ERROR_WRONG_EXITCODE; + return; + // END + } + + if (is_string($resource_name) && count($resource_config) == 0) { // Config does not exists. Nothing to get. $this->output = BaculaConfigError::MSG_ERROR_CONFIG_DOES_NOT_EXIST; $this->error = BaculaConfigError::ERROR_CONFIG_DOES_NOT_EXIST; } else { if (is_string($filter_directive) && is_string($filter_value)) { - $config['output'] = BaculaConfig::filterResources( - $config['output'], + $resource_config = BaculaConfig::filterResources( + $resource_config, $filter_directive, $filter_value ); } - $this->output = $config['output']; - $this->error = $config['exitcode']; + $this->output = $resource_config; + $this->error = BaculaConfigError::ERROR_NO_ERRORS; } }