return $types;
}
- public function getConfig($component_type = null, $resource_type = null, $resource_name = null) {
+ public function getConfig($component_type = null, $resource_type = null, $resource_name = null, $opts = []) {
$this->checkConfigSupport($component_type);
$config = array();
$json_tools = $this->Application->getModule('json_tools');
if (!is_null($component_type)) {
// get resources config
$params = array();
- if ($component_type == self::COMPONENT_DIR_TYPE) {
+ if ($component_type == self::COMPONENT_DIR_TYPE && (!key_exists('apply_jobdefs', $opts) || $opts['apply_jobdefs'] == false)) {
$params['dont_apply_jobdefs'] = true;
}
if (!is_null($resource_type)) {
if (!is_null($resource_type) && !is_null($resource_name)) {
// Update single resource in config
+
$config = $this->updateConfigResource($config_orig, $config_new, $resource_type, $resource_name);
} elseif (count($config_orig) > 0 && !is_null($resource_type)) {
// Update whole config
$config[$i] = $this->updateResource($config[$i], $config[$i]);
}
}
-
// Save config to file
return $this->getModule('bacula_config')->setConfig($component_type, $config);
}
*/
class Config extends BaculumAPIServer {
public function get() {
+ $misc = $this->getModule('misc');
$component_type = $this->Request->contains('component_type') ? $this->Request['component_type'] : null;
$resource_type = $this->Request->contains('resource_type') ? $this->Request['resource_type'] : null;
$resource_name = $this->Request->contains('resource_name') ? $this->Request['resource_name'] : null;
+ $apply_jobdefs = $this->Request->contains('apply_jobdefs') && $misc->isValidBoolean($this->Request['apply_jobdefs']) ? (bool)$this->Request['apply_jobdefs'] : null;
+ $opts = [];
+ if ($apply_jobdefs) {
+ $opts['apply_jobdefs'] = $apply_jobdefs;
+ }
- $config = $this->getModule('bacula_setting')->getConfig($component_type, $resource_type, $resource_name);
+ $config = $this->getModule('bacula_setting')->getConfig($component_type, $resource_type, $resource_name, $opts);
$this->output = $config['output'];
$this->error = $config['exitcode'];
}