all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH v2 proxmox-backup] Add option in GUI for destroying data
@ 2022-02-14 14:10 Dylan Whyte
  0 siblings, 0 replies; only message in thread
From: Dylan Whyte @ 2022-02-14 14:10 UTC (permalink / raw)
  To: pbs-devel

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@proxmox.com>
---
V1 -> V2:
- Use taskDone callback, rather than apiCallDone, so that the navtree
  reload happens after the task finishes (thanks for pointing it out
  @Oguz!)


Note, the patch relies on Fix 3335 (tested by @oguz):
https://lists.proxmox.com/pipermail/pbs-devel/2022-February/004654.html

 www/Makefile                       |  1 +
 www/datastore/OptionView.js        |  6 +++---
 www/window/SafeDestroyDatastore.js | 34 ++++++++++++++++++++++++++++++
 3 files changed, 38 insertions(+), 3 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..3e2a803a 100644
--- a/www/datastore/OptionView.js
+++ b/www/datastore/OptionView.js
@@ -25,15 +25,15 @@ 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) => {
+		taskDone: (success) => {
 		    let navtree = Ext.ComponentQuery.query('navigationtree')[0];
 		    navtree.rstore.load();
 		    let mainview = me.getView().up('mainview');
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





^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-02-14 14:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-14 14:10 [pbs-devel] [PATCH v2 proxmox-backup] Add option in GUI for destroying data Dylan Whyte

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal