all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup] Add option in GUI for destroying data
@ 2022-01-26 15:38 Dylan Whyte
  2022-02-07 14:41 ` Oguz Bektas
  0 siblings, 1 reply; 2+ messages in thread
From: Dylan Whyte @ 2022-01-26 15:38 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>
---
 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





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [pbs-devel] [PATCH proxmox-backup] Add option in GUI for destroying data
  2022-01-26 15:38 [pbs-devel] [PATCH proxmox-backup] Add option in GUI for destroying data Dylan Whyte
@ 2022-02-07 14:41 ` Oguz Bektas
  0 siblings, 0 replies; 2+ messages in thread
From: Oguz Bektas @ 2022-02-07 14:41 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion


works as expected, with one small issue that it doesn't immediately
reload the navtree for the datastores (a.k.a. the handler function
'removeDatastore' at www/datastore/OptionView.js does that).

the effect is that the deleted datastore is still visible in the
left navigation tree until the store is reloaded manually or
automatically (in about ~10-15 seconds).

otherwise looks good to me :)

Tested-by: Oguz Bektas <o.bektas@proxmox.com>

On Wed, Jan 26, 2022 at 04:38:51PM +0100, Dylan Whyte wrote:
> 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>
> ---
>  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
> 
> 
> 
> _______________________________________________
> pbs-devel mailing list
> pbs-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
> 
> 




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-02-07 14:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-26 15:38 [pbs-devel] [PATCH proxmox-backup] Add option in GUI for destroying data Dylan Whyte
2022-02-07 14:41 ` Oguz Bektas

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