[pbs-devel] [PATCH proxmox-backup] Add option in GUI for destroying data
Dylan Whyte
d.whyte at proxmox.com
Wed Jan 26 16:38:51 CET 2022
Adds a checkbox to the remove datastore window in the GUI, to destroy a
datastore's underlying contents
related to (Fix 3335)
Signed-off-by: Dylan Whyte <d.whyte at proxmox.com>
---
www/Makefile | 1 +
www/datastore/OptionView.js | 4 ++--
www/window/SafeDestroyDatastore.js | 34 ++++++++++++++++++++++++++++++
3 files changed, 37 insertions(+), 2 deletions(-)
create mode 100644 www/window/SafeDestroyDatastore.js
diff --git a/www/Makefile b/www/Makefile
index 455fbeec..86af7767 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -66,6 +66,7 @@ JSSRC= \
window/TrafficControlEdit.js \
window/NotifyOptions.js \
window/SyncJobEdit.js \
+ window/SafeDestroyDatastore.js \
window/UserEdit.js \
window/UserPassword.js \
window/Settings.js \
diff --git a/www/datastore/OptionView.js b/www/datastore/OptionView.js
index 5a5e85be..5a15e1d4 100644
--- a/www/datastore/OptionView.js
+++ b/www/datastore/OptionView.js
@@ -25,12 +25,12 @@ Ext.define('PBS.Datastore.Options', {
removeDatastore: function() {
let me = this;
let datastore = me.getView().datastore;
- Ext.create('Proxmox.window.SafeDestroy', {
+ Ext.create('PBS.window.SafeDestroyDatastore', {
url: `/config/datastore/${datastore}`,
item: {
id: datastore,
},
- note: gettext('Configuration change only, no data will be deleted.'),
+ note: gettext('If "Destroy data" is not enabled, only the configuration is changed.'),
autoShow: true,
taskName: 'delete-datastore',
apiCallDone: (success) => {
diff --git a/www/window/SafeDestroyDatastore.js b/www/window/SafeDestroyDatastore.js
new file mode 100644
index 00000000..20ee4154
--- /dev/null
+++ b/www/window/SafeDestroyDatastore.js
@@ -0,0 +1,34 @@
+/*
+ * SafeDestroy window with additional checkbox for removing datastore contents
+ */
+Ext.define('PBS.window.SafeDestroyDatastore', {
+ extend: 'Proxmox.window.SafeDestroy',
+ alias: 'widget.pbsSafeDestroyDatastore',
+
+ showProgress: true,
+
+ additionalItems: [
+ {
+ xtype: 'proxmoxcheckbox',
+ name: 'destroy-data',
+ reference: 'destroyDataCheckbox',
+ boxLabel: gettext('Destroy data'),
+ checked: false,
+ autoEl: {
+ tag: 'div',
+ 'data-qtip': gettext("Delete datastore's underlying contents"),
+ },
+ },
+ ],
+
+ getParams: function() {
+ let me = this;
+
+ const destroyDataCheckbox = me.lookupReference('destroyDataCheckbox');
+ me.params["destroy-data"] = destroyDataCheckbox.checked ? 1 : 0;
+
+ return me.callParent();
+ },
+
+
+});
--
2.30.2
More information about the pbs-devel
mailing list