ui: backup: also check for backup subtype to classify archive

In anticipation of future storage plugins that might not have
PBS-specific formats or adhere to the vzdump naming scheme for
backups.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Tested-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Reviewed-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Link: https://lore.proxmox.com/20250404133204.239783-29-f.ebner@proxmox.com
This commit is contained in:
Fiona Ebner 2025-04-04 15:32:03 +02:00 committed by Thomas Lamprecht
parent 93cbef3804
commit 3f82460304
3 changed files with 10 additions and 8 deletions

View File

@ -694,12 +694,14 @@ Ext.define('PVE.Utils', {
'import': gettext('Import'),
},
volume_is_qemu_backup: function(volid, format) {
return format === 'pbs-vm' || volid.match(':backup/vzdump-qemu-');
volume_is_qemu_backup: function(volume) {
return volume.format === 'pbs-vm' || volume.volid.match(':backup/vzdump-qemu-') ||
volume.subtype === 'qemu';
},
volume_is_lxc_backup: function(volid, format) {
return format === 'pbs-ct' || volid.match(':backup/vzdump-(lxc|openvz)-');
volume_is_lxc_backup: function(volume) {
return volume.format === 'pbs-ct' || volume.volid.match(':backup/vzdump-(lxc|openvz)-') ||
volume.subtype === 'lxc';
},
authSchema: {

View File

@ -29,11 +29,11 @@ Ext.define('PVE.grid.BackupView', {
var vmtypeFilter;
if (vmtype === 'lxc' || vmtype === 'openvz') {
vmtypeFilter = function(item) {
return PVE.Utils.volume_is_lxc_backup(item.data.volid, item.data.format);
return PVE.Utils.volume_is_lxc_backup(item.data);
};
} else if (vmtype === 'qemu') {
vmtypeFilter = function(item) {
return PVE.Utils.volume_is_qemu_backup(item.data.volid, item.data.format);
return PVE.Utils.volume_is_qemu_backup(item.data);
};
} else {
throw "unsupported VM type '" + vmtype + "'";

View File

@ -86,9 +86,9 @@ Ext.define('PVE.storage.BackupView', {
disabled: true,
handler: function(b, e, rec) {
let vmtype;
if (PVE.Utils.volume_is_qemu_backup(rec.data.volid, rec.data.format)) {
if (PVE.Utils.volume_is_qemu_backup(rec.data)) {
vmtype = 'qemu';
} else if (PVE.Utils.volume_is_lxc_backup(rec.data.volid, rec.data.format)) {
} else if (PVE.Utils.volume_is_lxc_backup(rec.data)) {
vmtype = 'lxc';
} else {
return;