all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH pve-manager v2 0/2] ui: fix #6209: create snapshots and backups from context menu
@ 2025-10-02 15:16 Nicolas Frey
  2025-10-02 15:16 ` [pve-devel] [PATCH pve-manager v2 1/2] ui: guest snapshot: remove excess '}' at the end of window title Nicolas Frey
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Nicolas Frey @ 2025-10-02 15:16 UTC (permalink / raw)
  To: pve-devel

This patch series adds functionality to take snapshots and create
manual backups of VMs and CTs through the right-click context menu.

The original feature request [0] only specified the ability to take
snapshots. I added the manual backup shortcut as well, since
navigating through the menu for this action felt unnecessarily
cumbersome when performing just a quick backup. LMK if that is a
useful addition.

changes since v1, thanks @Fiona Ebner
* clarified commit message
* addressed several issues in the added menu options, namely:
  * correctly handle disabled state with async
  * fixed negation logic and cleaned up minor nits

[0] https://bugzilla.proxmox.com/show_bug.cgi?id=6209

Nicolas Frey (2):
  ui: guest snapshot: remove excess '}' at the end of window title
  ui: fix #6209: create snapshots and backups from context menu

 www/manager6/lxc/CmdMenu.js     | 47 +++++++++++++++++++++++++++++++++
 www/manager6/qemu/CmdMenu.js    | 47 +++++++++++++++++++++++++++++++++
 www/manager6/window/Snapshot.js |  2 +-
 3 files changed, 95 insertions(+), 1 deletion(-)

-- 
2.47.3


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


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

* [pve-devel] [PATCH pve-manager v2 1/2] ui: guest snapshot: remove excess '}' at the end of window title
  2025-10-02 15:16 [pve-devel] [PATCH pve-manager v2 0/2] ui: fix #6209: create snapshots and backups from context menu Nicolas Frey
@ 2025-10-02 15:16 ` Nicolas Frey
  2025-10-03 17:31   ` [pve-devel] applied: " Thomas Lamprecht
  2025-10-02 15:16 ` [pve-devel] [PATCH pve-manager v2 2/2] ui: fix #6209: create snapshots and backups from context menu Nicolas Frey
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Nicolas Frey @ 2025-10-02 15:16 UTC (permalink / raw)
  To: pve-devel

Noticed one too many curly braces in the Snapshot window title.

Signed-off-by: Nicolas Frey <n.frey@proxmox.com>
---
 www/manager6/window/Snapshot.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/manager6/window/Snapshot.js b/www/manager6/window/Snapshot.js
index 80eaa251..a2134bd3 100644
--- a/www/manager6/window/Snapshot.js
+++ b/www/manager6/window/Snapshot.js
@@ -146,7 +146,7 @@ Ext.define('PVE.window.Snapshot', {
                 me.vmid,
                 me.vmname,
             );
-            subject = `${guestTypeStr} ${formattedGuestIdentifier} ${gettext('Snapshot')}}`;
+            subject = `${guestTypeStr} ${formattedGuestIdentifier} ${gettext('Snapshot')}`;
             me.method = 'POST';
             me.showTaskViewer = true;
         } else {
-- 
2.47.3


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


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

* [pve-devel] [PATCH pve-manager v2 2/2] ui: fix #6209: create snapshots and backups from context menu
  2025-10-02 15:16 [pve-devel] [PATCH pve-manager v2 0/2] ui: fix #6209: create snapshots and backups from context menu Nicolas Frey
  2025-10-02 15:16 ` [pve-devel] [PATCH pve-manager v2 1/2] ui: guest snapshot: remove excess '}' at the end of window title Nicolas Frey
@ 2025-10-02 15:16 ` Nicolas Frey
  2025-10-03 14:01 ` [pve-devel] [PATCH pve-manager v2 0/2] " Shan Shaji
  2025-10-07  8:56 ` Nicolas Frey
  3 siblings, 0 replies; 6+ messages in thread
From: Nicolas Frey @ 2025-10-02 15:16 UTC (permalink / raw)
  To: pve-devel

Adds snapshot and manual backup shortcut to VM/CT right-click context
menu.

Fixes: https://bugzilla.proxmox.com/show_bug.cgi?id=6209
Signed-off-by: Nicolas Frey <n.frey@proxmox.com>
---
 www/manager6/lxc/CmdMenu.js  | 47 ++++++++++++++++++++++++++++++++++++
 www/manager6/qemu/CmdMenu.js | 47 ++++++++++++++++++++++++++++++++++++
 2 files changed, 94 insertions(+)

diff --git a/www/manager6/lxc/CmdMenu.js b/www/manager6/lxc/CmdMenu.js
index cd60c967..bd5fe164 100644
--- a/www/manager6/lxc/CmdMenu.js
+++ b/www/manager6/lxc/CmdMenu.js
@@ -134,6 +134,40 @@ Ext.define('PVE.lxc.CmdMenu', {
                 },
             },
             { xtype: 'menuseparator' },
+            {
+                text: gettext('Take Snapshot'),
+                iconCls: 'fa fa-fw fa-history',
+                itemId: 'takeSnapshotBtn',
+                disabled: true, // default until async check finishes
+                handler: function () {
+                    let win = Ext.create('PVE.window.Snapshot', {
+                        nodename: info.node,
+                        vmid: info.vmid,
+                        vmname: info.name,
+                        viewonly: false,
+                        type: info.type,
+                        isCreate: true,
+                        submitText: gettext('Take Snapshot'),
+                        running: running,
+                    });
+                    win.show();
+                },
+            },
+            {
+                text: gettext('Backup now'),
+                iconCls: 'fa fa-fw fa-floppy-o',
+                disabled: !caps.vms['VM.Backup'],
+                handler: function () {
+                    var win = Ext.create('PVE.window.Backup', {
+                        nodename: info.node,
+                        vmid: info.vmid,
+                        vmtype: info.type,
+                        vmname: info.name,
+                    });
+                    win.show();
+                },
+            },
+            { xtype: 'menuseparator' },
             {
                 text: gettext('Console'),
                 iconCls: 'fa fa-fw fa-terminal',
@@ -149,5 +183,18 @@ Ext.define('PVE.lxc.CmdMenu', {
         ];
 
         me.callParent();
+
+        Proxmox.Utils.API2Request({
+            url: `/nodes/${info.node}/${info.type}/${info.vmid}/feature`,
+            params: { feature: 'snapshot' },
+            method: 'GET',
+            success: function (response) {
+                let hasFeature = !!response.result.data.hasFeature;
+                let btn = me.down('#takeSnapshotBtn');
+                if (btn) {
+                    btn.setDisabled(!(caps.vms['VM.Snapshot'] && hasFeature));
+                }
+            },
+        });
     },
 });
diff --git a/www/manager6/qemu/CmdMenu.js b/www/manager6/qemu/CmdMenu.js
index adf64672..7c9080c5 100644
--- a/www/manager6/qemu/CmdMenu.js
+++ b/www/manager6/qemu/CmdMenu.js
@@ -169,6 +169,40 @@ Ext.define('PVE.qemu.CmdMenu', {
                 },
             },
             { xtype: 'menuseparator' },
+            {
+                text: gettext('Take Snapshot'),
+                iconCls: 'fa fa-fw fa-history',
+                itemId: 'takeSnapshotBtn',
+                disabled: true,
+                handler: function () {
+                    let win = Ext.create('PVE.window.Snapshot', {
+                        nodename: info.node,
+                        vmid: info.vmid,
+                        vmname: info.name,
+                        viewonly: false,
+                        type: info.type,
+                        isCreate: true,
+                        submitText: gettext('Take Snapshot'),
+                        running: running,
+                    });
+                    win.show();
+                },
+            },
+            {
+                text: gettext('Backup now'),
+                iconCls: 'fa fa-fw fa-floppy-o',
+                disabled: !caps.vms['VM.Backup'],
+                handler: function () {
+                    var win = Ext.create('PVE.window.Backup', {
+                        nodename: info.node,
+                        vmid: info.vmid,
+                        vmtype: info.type,
+                        vmname: info.name,
+                    });
+                    win.show();
+                },
+            },
+            { xtype: 'menuseparator' },
             {
                 text: gettext('Console'),
                 iconCls: 'fa fa-fw fa-terminal',
@@ -194,5 +228,18 @@ Ext.define('PVE.qemu.CmdMenu', {
         ];
 
         me.callParent();
+
+        Proxmox.Utils.API2Request({
+            url: `/nodes/${info.node}/${info.type}/${info.vmid}/feature`,
+            params: { feature: 'snapshot' },
+            method: 'GET',
+            success: function (response) {
+                let hasFeature = !!response.result.data.hasFeature;
+                let btn = me.down('#takeSnapshotBtn');
+                if (btn) {
+                    btn.setDisabled(!(caps.vms['VM.Snapshot'] && hasFeature));
+                }
+            },
+        });
     },
 });
-- 
2.47.3


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


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

* Re: [pve-devel] [PATCH pve-manager v2 0/2] ui: fix #6209: create snapshots and backups from context menu
  2025-10-02 15:16 [pve-devel] [PATCH pve-manager v2 0/2] ui: fix #6209: create snapshots and backups from context menu Nicolas Frey
  2025-10-02 15:16 ` [pve-devel] [PATCH pve-manager v2 1/2] ui: guest snapshot: remove excess '}' at the end of window title Nicolas Frey
  2025-10-02 15:16 ` [pve-devel] [PATCH pve-manager v2 2/2] ui: fix #6209: create snapshots and backups from context menu Nicolas Frey
@ 2025-10-03 14:01 ` Shan Shaji
  2025-10-07  8:56 ` Nicolas Frey
  3 siblings, 0 replies; 6+ messages in thread
From: Shan Shaji @ 2025-10-03 14:01 UTC (permalink / raw)
  To: Proxmox VE development discussion; +Cc: pve-devel

Applied this patch series and tested the changes. 

Verfied The Following:
- Confirmed the right-click context menu now shows both "Take
  Snapshot" and "Backup now" options. 
- Clicking on the options show the backup and snapshots dialog. 
- Took snapshots for VMs and CTs
- Ran manual PBS backups for a VM and a CT. 
- The snapshot window extra curly brace is also not visible anymore. 

Tested-by: Shan Shaji <s.shaji@proxmox.com>

On Thu Oct 2, 2025 at 5:16 PM CEST, Nicolas Frey wrote:
> This patch series adds functionality to take snapshots and create
> manual backups of VMs and CTs through the right-click context menu.
>
> The original feature request [0] only specified the ability to take
> snapshots. I added the manual backup shortcut as well, since
> navigating through the menu for this action felt unnecessarily
> cumbersome when performing just a quick backup. LMK if that is a
> useful addition.
>
> changes since v1, thanks @Fiona Ebner
> * clarified commit message
> * addressed several issues in the added menu options, namely:
>   * correctly handle disabled state with async
>   * fixed negation logic and cleaned up minor nits
>
> [0] https://bugzilla.proxmox.com/show_bug.cgi?id=6209
>
> Nicolas Frey (2):
>   ui: guest snapshot: remove excess '}' at the end of window title
>   ui: fix #6209: create snapshots and backups from context menu
>
>  www/manager6/lxc/CmdMenu.js     | 47 +++++++++++++++++++++++++++++++++
>  www/manager6/qemu/CmdMenu.js    | 47 +++++++++++++++++++++++++++++++++
>  www/manager6/window/Snapshot.js |  2 +-
>  3 files changed, 95 insertions(+), 1 deletion(-)



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


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

* [pve-devel] applied: [PATCH pve-manager v2 1/2] ui: guest snapshot: remove excess '}' at the end of window title
  2025-10-02 15:16 ` [pve-devel] [PATCH pve-manager v2 1/2] ui: guest snapshot: remove excess '}' at the end of window title Nicolas Frey
@ 2025-10-03 17:31   ` Thomas Lamprecht
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Lamprecht @ 2025-10-03 17:31 UTC (permalink / raw)
  To: Proxmox VE development discussion, Nicolas Frey

Am 02.10.25 um 17:15 schrieb Nicolas Frey:
> Noticed one too many curly braces in the Snapshot window title.
> 
> Signed-off-by: Nicolas Frey <n.frey@proxmox.com>
> ---
>  www/manager6/window/Snapshot.js | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
>

applied this one already, thanks!


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


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

* Re: [pve-devel] [PATCH pve-manager v2 0/2] ui: fix #6209: create snapshots and backups from context menu
  2025-10-02 15:16 [pve-devel] [PATCH pve-manager v2 0/2] ui: fix #6209: create snapshots and backups from context menu Nicolas Frey
                   ` (2 preceding siblings ...)
  2025-10-03 14:01 ` [pve-devel] [PATCH pve-manager v2 0/2] " Shan Shaji
@ 2025-10-07  8:56 ` Nicolas Frey
  3 siblings, 0 replies; 6+ messages in thread
From: Nicolas Frey @ 2025-10-07  8:56 UTC (permalink / raw)
  To: pve-devel

superseded-by: https://lore.proxmox.com/pve-devel/20251006133308.119141-1-n.frey@proxmox.com/T/#u

On 10/2/25 5:15 PM, Nicolas Frey wrote:
> This patch series adds functionality to take snapshots and create
> manual backups of VMs and CTs through the right-click context menu.
> 
> The original feature request [0] only specified the ability to take
> snapshots. I added the manual backup shortcut as well, since
> navigating through the menu for this action felt unnecessarily
> cumbersome when performing just a quick backup. LMK if that is a
> useful addition.
> 
> changes since v1, thanks @Fiona Ebner
> * clarified commit message
> * addressed several issues in the added menu options, namely:
>   * correctly handle disabled state with async
>   * fixed negation logic and cleaned up minor nits
> 
> [0] https://bugzilla.proxmox.com/show_bug.cgi?id=6209
> 
> Nicolas Frey (2):
>   ui: guest snapshot: remove excess '}' at the end of window title
>   ui: fix #6209: create snapshots and backups from context menu
> 
>  www/manager6/lxc/CmdMenu.js     | 47 +++++++++++++++++++++++++++++++++
>  www/manager6/qemu/CmdMenu.js    | 47 +++++++++++++++++++++++++++++++++
>  www/manager6/window/Snapshot.js |  2 +-
>  3 files changed, 95 insertions(+), 1 deletion(-)
> 



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


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

end of thread, other threads:[~2025-10-07  8:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-02 15:16 [pve-devel] [PATCH pve-manager v2 0/2] ui: fix #6209: create snapshots and backups from context menu Nicolas Frey
2025-10-02 15:16 ` [pve-devel] [PATCH pve-manager v2 1/2] ui: guest snapshot: remove excess '}' at the end of window title Nicolas Frey
2025-10-03 17:31   ` [pve-devel] applied: " Thomas Lamprecht
2025-10-02 15:16 ` [pve-devel] [PATCH pve-manager v2 2/2] ui: fix #6209: create snapshots and backups from context menu Nicolas Frey
2025-10-03 14:01 ` [pve-devel] [PATCH pve-manager v2 0/2] " Shan Shaji
2025-10-07  8:56 ` Nicolas Frey

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