From: Marcin Haba Date: Tue, 23 Apr 2019 04:04:33 +0000 (+0200) Subject: baculum: Add capability to use many ACL Console directives in one config resource X-Git-Tag: Release-9.4.3~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=15c4149c897880bac3504355d9cbd5faa906708c;p=thirdparty%2Fbacula.git baculum: Add capability to use many ACL Console directives in one config resource --- diff --git a/gui/baculum/protected/Web/Data/data_desc.json b/gui/baculum/protected/Web/Data/data_desc.json index 0e5142530..851e3a00b 100644 --- a/gui/baculum/protected/Web/Data/data_desc.json +++ b/gui/baculum/protected/Web/Data/data_desc.json @@ -1670,67 +1670,67 @@ "Required": false, "ValueType": "acl", "DefaultValue": 0, - "FieldType": "TextBox" + "FieldType": "MultiTextBox" }, "ClientAcl": { "Required": false, "ValueType": "acl", "DefaultValue": 0, - "FieldType": "TextBox" + "FieldType": "MultiTextBox" }, "StorageAcl": { "Required": false, "ValueType": "acl", "DefaultValue": 0, - "FieldType": "TextBox" + "FieldType": "MultiTextBox" }, "ScheduleAcl": { "Required": false, "ValueType": "acl", "DefaultValue": 0, - "FieldType": "TextBox" + "FieldType": "MultiTextBox" }, "RunAcl": { "Required": false, "ValueType": "acl", "DefaultValue": 0, - "FieldType": "TextBox" + "FieldType": "MultiTextBox" }, "PoolAcl": { "Required": false, "ValueType": "acl", "DefaultValue": 0, - "FieldType": "TextBox" + "FieldType": "MultiTextBox" }, "CommandAcl": { "Required": false, "ValueType": "acl", "DefaultValue": 0, - "FieldType": "TextBox" + "FieldType": "MultiTextBox" }, "FilesetAcl": { "Required": false, "ValueType": "acl", "DefaultValue": 0, - "FieldType": "TextBox" + "FieldType": "MultiTextBox" }, "CatalogAcl": { "Required": false, "ValueType": "acl", "DefaultValue": 0, - "FieldType": "TextBox" + "FieldType": "MultiTextBox" }, "WhereAcl": { "Required": false, "ValueType": "acl", "DefaultValue": 0, - "FieldType": "TextBox" + "FieldType": "MultiTextBox" }, "PluginOptionsAcl": { "Required": false, "ValueType": "acl", "DefaultValue": 0, - "FieldType": "TextBox" + "FieldType": "MultiTextBox" }, "TlsAuthenticate": { "Required": false, diff --git a/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.php b/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.php index 274ae3d58..3e768e1c7 100644 --- a/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.php +++ b/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.php @@ -61,7 +61,8 @@ class BaculaConfigDirectives extends DirectiveListTemplate { 'DirectiveFileSet', 'DirectiveSchedule', 'DirectiveMessages', - 'DirectiveRunscript' + 'DirectiveRunscript', + 'DirectiveMultiTextBox' ); private $field_multple_values = array( @@ -298,6 +299,11 @@ class BaculaConfigDirectives extends DirectiveListTemplate { $directives[$directive_name] = $directive_value[$directive_name]; } elseif ($this->directive_list_types[$i] === 'DirectiveSchedule') { $directives[$directive_name] = $directive_value[$directive_name]; + } elseif ($this->directive_list_types[$i] === 'DirectiveMultiTextBox') { + if (key_exists($directive_name, $directives)) { + $directive_value = array_merge($directives[$directive_name], $directive_value); + } + $directives[$directive_name] = array_filter($directive_value); } elseif (array_key_exists($directive_name, $directive_value)) { $directives[$directive_name][] = $directive_value[$directive_name]; } elseif (count($directive_value) > 0) {