From be35638c45068a10cde922c75e606910e0bd05ce Mon Sep 17 00:00:00 2001 From: Marcin Haba Date: Sun, 3 Dec 2017 13:15:27 +0100 Subject: [PATCH] baculum: Add listbox control and use it for base and device directives --- gui/baculum/protected/Web/Data/data_desc.json | 13 +-- gui/baculum/protected/Web/Lang/en/messages.mo | Bin 36033 -> 36135 bytes gui/baculum/protected/Web/Lang/en/messages.po | 3 + gui/baculum/protected/Web/Lang/ja/messages.mo | Bin 33075 -> 33177 bytes gui/baculum/protected/Web/Lang/ja/messages.po | 3 + gui/baculum/protected/Web/Lang/pl/messages.mo | Bin 38638 -> 38742 bytes gui/baculum/protected/Web/Lang/pl/messages.po | 3 + gui/baculum/protected/Web/Lang/pt/messages.mo | Bin 38893 -> 38995 bytes gui/baculum/protected/Web/Lang/pt/messages.po | 3 + .../Web/Portlets/BaculaConfigDirectives.php | 8 +- .../Web/Portlets/BaculaConfigDirectives.tpl | 5 ++ .../Web/Portlets/DirectiveFileSet.php | 1 + .../Web/Portlets/DirectiveFileSet.tpl | 5 ++ .../Web/Portlets/DirectiveListBox.php | 81 ++++++++++++++++++ .../Web/Portlets/DirectiveListBox.tpl | 25 ++++++ .../themes/Baculum-v1/bacula-config.css | 17 +++- 16 files changed, 158 insertions(+), 9 deletions(-) create mode 100644 gui/baculum/protected/Web/Portlets/DirectiveListBox.php create mode 100644 gui/baculum/protected/Web/Portlets/DirectiveListBox.tpl diff --git a/gui/baculum/protected/Web/Data/data_desc.json b/gui/baculum/protected/Web/Data/data_desc.json index 74a3317899..11a092d5b3 100644 --- a/gui/baculum/protected/Web/Data/data_desc.json +++ b/gui/baculum/protected/Web/Data/data_desc.json @@ -843,9 +843,9 @@ }, "Base": { "Required": false, - "ValueType": "alist_res", + "ValueType": "res", "DefaultValue": 0, - "FieldType": "ComboBox", + "FieldType": "ListBox", "Resource": "Job" } }, @@ -2275,9 +2275,9 @@ }, "Base": { "Required": false, - "ValueType": "alist_res", + "ValueType": "res", "DefaultValue": 0, - "FieldType": "ComboBox", + "FieldType": "ListBox", "Resource": "Job" } } @@ -2932,9 +2932,10 @@ }, "Device": { "Required": true, - "ValueType": "alist_res", + "ValueType": "res", "DefaultValue": 0, - "FieldType": "ComboBox" + "FieldType": "ListBox", + "Resource": "Device" }, "ChangerDevice": { "Required": true, diff --git a/gui/baculum/protected/Web/Lang/en/messages.mo b/gui/baculum/protected/Web/Lang/en/messages.mo index 946847662181ac818b996c17453b58a0f08a6b5b..f168c481b8d5cfc7988254b852f79e34cda55259 100644 GIT binary patch delta 8731 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 dE)g>P4t|58C#Vs6fx6HgZMk`7fuS%M?Ds{D#sB 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 NKl|^hnDtK3e*x6NmfHXT delta 7326 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 delta 8655 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 diff --git a/gui/baculum/protected/Web/Lang/pl/messages.po b/gui/baculum/protected/Web/Lang/pl/messages.po index 8dcc96ca93..4dbdc288dc 100644 --- a/gui/baculum/protected/Web/Lang/pl/messages.po +++ b/gui/baculum/protected/Web/Lang/pl/messages.po @@ -1508,3 +1508,6 @@ msgstr "Wolumen" msgid "During restore there will be used following volumes:" msgstr "Podczas zadania przywracania danych potrzebne będą następujące wolumeny:" + +msgid "Use Ctrl + Mouse Click to change selection" +msgstr "Aby zmienić wybór, użyj Ctrl + klik myszy" diff --git a/gui/baculum/protected/Web/Lang/pt/messages.mo b/gui/baculum/protected/Web/Lang/pt/messages.mo index efb09de1e6095fd02efb56e327a3e6b09312ed36..3e6565422009c0a4096b96c3a9eddce0e5adcf61 100644 GIT binary patch delta 8762 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 delta 8680 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 { $directive_value = array($directive_value); } if (is_object($directive_value)) { diff --git a/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.tpl b/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.tpl index d1ae5bf034..081fd49293 100644 --- a/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.tpl +++ b/gui/baculum/protected/Web/Portlets/BaculaConfigDirectives.tpl @@ -30,6 +30,11 @@ + + + + + diff --git a/gui/baculum/protected/Web/Portlets/DirectiveFileSet.php b/gui/baculum/protected/Web/Portlets/DirectiveFileSet.php index e0244e2be6..da4ec3d60c 100644 --- a/gui/baculum/protected/Web/Portlets/DirectiveFileSet.php +++ b/gui/baculum/protected/Web/Portlets/DirectiveFileSet.php @@ -36,6 +36,7 @@ class DirectiveFileSet extends DirectiveListTemplate { 'DirectiveBoolean', 'DirectiveText', 'DirectiveComboBox', + 'DirectiveListBox', 'DirectiveInteger' ); diff --git a/gui/baculum/protected/Web/Portlets/DirectiveFileSet.tpl b/gui/baculum/protected/Web/Portlets/DirectiveFileSet.tpl index 548fbb0c8c..788579dead 100644 --- a/gui/baculum/protected/Web/Portlets/DirectiveFileSet.tpl +++ b/gui/baculum/protected/Web/Portlets/DirectiveFileSet.tpl @@ -29,6 +29,11 @@ + + + + + diff --git a/gui/baculum/protected/Web/Portlets/DirectiveListBox.php b/gui/baculum/protected/Web/Portlets/DirectiveListBox.php new file mode 100644 index 0000000000..356e488623 --- /dev/null +++ b/gui/baculum/protected/Web/Portlets/DirectiveListBox.php @@ -0,0 +1,81 @@ +Directive->getSelectedIndices(); + $items = $this->Directive->getItems(); + for ($i = 0; $i < count($values); $i++) { + $value[] = $items[$values[$i]]->getValue(); + } + return $value; + } + + public function createDirective() { + $this->Label->Text = $this->getLabel(); + $data = $this->getData(); + $resource_names = $this->getResourceNames(); + $directive_name = $this->getDirectiveName(); + $resource = $this->getResource(); + $in_config = $this->getInConfig(); + $items = array(); + if (is_array($data)) { + $items = $data; + } elseif (is_array($resource_names)) { + if (array_key_exists($directive_name, $resource_names)) { + $items = $resource_names[$directive_name]; + } elseif (array_key_exists($resource, $resource_names)) { + $items = $resource_names[$resource]; + } + } + $this->Directive->dataSource = array_combine($items, $items); + + $directive_value = $this->getDirectiveValue(); + $default_value = $this->getDefaultValue(); + if ($in_config === false) { + if ($default_value !== 0) { + $directive_value = $default_value; + } else { + $directive_value = array(); + } + } + $selected_indices = array(); + for ($i = 0; $i < count($items); $i++) { + if (in_array($items[$i], $directive_value)) { + $selected_indices[] = $i; + } + } + if (!empty($directive_value)) { + $this->Directive->setSelectedIndices($selected_indices); + } + $this->Directive->dataBind(); + $validate = $this->getRequired(); + $this->DirectiveValidator->setVisible($validate); + } +} +?> diff --git a/gui/baculum/protected/Web/Portlets/DirectiveListBox.tpl b/gui/baculum/protected/Web/Portlets/DirectiveListBox.tpl new file mode 100644 index 0000000000..f1029566ed --- /dev/null +++ b/gui/baculum/protected/Web/Portlets/DirectiveListBox.tpl @@ -0,0 +1,25 @@ +
+
:
+
+ <%=$this->getRequired() ? '*' : ''%> + <%[ Reset to default value ]%> + <%[ Remove directive ]%> + +

<%[ Use Ctrl + Mouse Click to change selection ]%>

+
+
diff --git a/gui/baculum/themes/Baculum-v1/bacula-config.css b/gui/baculum/themes/Baculum-v1/bacula-config.css index daad126082..3a2e76ceb3 100644 --- a/gui/baculum/themes/Baculum-v1/bacula-config.css +++ b/gui/baculum/themes/Baculum-v1/bacula-config.css @@ -93,7 +93,7 @@ div.directive_setting fieldset { margin-left: 64px; } -input.ftype_textbox, input.ftype_timeperiod, input.ftype_integer, select.ftype_combobox { +input.ftype_textbox, input.ftype_timeperiod, input.ftype_integer, select.ftype_combobox, select.ftype_listbox { font-size: 12px; } @@ -105,15 +105,22 @@ input.ftype_timeperiod { width: 161px; } +select.ftype_combobox, select.ftype_listbox { + min-width: 265px; +} + select.ftype_combobox { height: 29px; - min-width: 265px; } input.ftype_integer { width: 161px; } +select.ftype_listbox { + height: 100px; +} + table.host td:nth-of-type(1) { width: 205px; } @@ -146,6 +153,7 @@ div.config_new_resource, div.config_new_fileset, div.config_new_messages, div.co img.reset_btn, img.remove_btn { display: none; cursor: pointer; + vertical-align: middle; } div.directive_value { @@ -164,3 +172,8 @@ div.directive_value:hover img.reset_btn, div.directive_value:hover img.remove_bt #new_host { padding: 26px; } + +p.smalldesc { + margin: 0; + font-style: italic; +} -- 2.39.5