ui: add encryption info to snapshot list
show which backups/files are encrypted in the snapshot list Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
		
				
					committed by
					
						 Dietmar Maurer
						Dietmar Maurer
					
				
			
			
				
	
			
			
			
						parent
						
							1c090810f5
						
					
				
				
					commit
					e005f953d9
				
			| @ -11,6 +11,30 @@ Ext.define('pbs-data-store-snapshots', { | ||||
| 	'files', | ||||
| 	'owner', | ||||
| 	{ name: 'size', type: 'int' }, | ||||
| 	{ | ||||
| 	    name: 'encrypted', | ||||
| 	    type: 'string', | ||||
| 	    calculate: function(data) { | ||||
| 		let encrypted = 0; | ||||
| 		let files = 0; | ||||
| 		data.files.forEach(file => { | ||||
| 		    if (file.filename === 'index.json.blob') return; // is never encrypted | ||||
| 		    if (file.encrypted) { | ||||
| 			encrypted++; | ||||
| 		    } | ||||
| 		    files++; | ||||
| 		}); | ||||
|  | ||||
| 		if (encrypted === 0) { | ||||
| 		    return Proxmox.Utils.noText; | ||||
| 		} else if (encrypted < files) { | ||||
| 		    return gettext('Partial'); | ||||
| 		} else if (encrypted === files) { | ||||
| 		    return Proxmox.Utils.yesText; | ||||
| 		} | ||||
| 		return Proxmox.Utils.unknowText; | ||||
| 	    } | ||||
| 	} | ||||
|     ] | ||||
| }); | ||||
|  | ||||
| @ -127,7 +151,13 @@ Ext.define('PBS.DataStoreContent', { | ||||
| 			group.files = item.files; | ||||
| 			group.size = item.size; | ||||
| 			group.owner = item.owner; | ||||
| 			if (group.encrypted !== undefined && group.encrypted !== item.encrypted) { | ||||
| 			    group.encrypted = gettext('Mixed'); | ||||
| 			} else { | ||||
| 			    group.encrypted = item.encrypted; | ||||
| 			} | ||||
| 		    } | ||||
|  | ||||
| 		} | ||||
| 		group.count = group.children.length; | ||||
| 		children.push(group); | ||||
| @ -192,13 +222,25 @@ Ext.define('PBS.DataStoreContent', { | ||||
| 	    sortable: true, | ||||
| 	    dataIndex: 'owner', | ||||
| 	}, | ||||
| 	{ | ||||
| 	    header: gettext('Encrypted'), | ||||
| 	    dataIndex: 'encrypted', | ||||
| 	}, | ||||
| 	{ | ||||
| 	    header: gettext("Files"), | ||||
| 	    sortable: false, | ||||
| 	    dataIndex: 'files', | ||||
| 	    renderer: function(files) { | ||||
| 		return files.map((file) => { | ||||
| 		    return file.filename; | ||||
| 		    let icon = ''; | ||||
| 		    let size = ''; | ||||
| 		    if (file.encrypted) { | ||||
| 			icon = '<i class="fa fa-lock"></i> '; | ||||
| 		    } | ||||
| 		    if (file.size)  { | ||||
| 			size = ` (${Proxmox.Utils.format_size(file.size)})`; | ||||
| 		    } | ||||
| 		    return `${icon}${file.filename}${size}`; | ||||
| 		}).join(', '); | ||||
| 	    }, | ||||
| 	    flex: 2 | ||||
|  | ||||
		Reference in New Issue
	
	Block a user