]> git.proxmox.com Git - pve-manager.git/commitdiff
fix #3505: ui/UploadToStorage: add checksum and algorithm
authorLorenz Stechauner <l.stechauner@proxmox.com>
Mon, 8 Nov 2021 08:53:48 +0000 (09:53 +0100)
committerDominik Csapak <d.csapak@proxmox.com>
Wed, 10 Nov 2021 08:21:44 +0000 (09:21 +0100)
Signed-off-by: Lorenz Stechauner <l.stechauner@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
www/manager6/window/UploadToStorage.js

index e9c35f77be5be64cc4905e6b36c9b6bc4af17184..7dc5188291516d3aafb034056b09676c6015728c 100644 (file)
@@ -62,6 +62,16 @@ Ext.define('PVE.window.UploadToStorage', {
            const filename = filenameField.getValue();
            filenameField.setDisabled(true);
 
+           const algorithmField = form.findField('checksum-algorithm');
+           algorithmField.setDisabled(true);
+           if (algorithmField.getValue() !== '__default__') {
+               fd.append("checksum-algorithm", algorithmField.getValue());
+
+               const checksumField = form.findField('checksum');
+               fd.append("checksum", checksumField.getValue());
+               checksumField.setDisabled(true);
+           }
+
            fd.append("filename", file, filename);
 
            pbar.setVisible(true);
@@ -115,6 +125,16 @@ Ext.define('PVE.window.UploadToStorage', {
            vm.set('size', (fileInput.files[0] && Proxmox.Utils.format_size(fileInput.files[0].size)) || '-');
            vm.set('mimetype', (fileInput.files[0] && fileInput.files[0].type) || '-');
        },
+
+       hashChange: function(field, value) {
+           const checksum = this.lookup('downloadUrlChecksum');
+           if (value === '__default__') {
+               checksum.setDisabled(true);
+               checksum.setValue("");
+           } else {
+               checksum.setDisabled(false);
+           }
+       },
     },
 
     items: [
@@ -169,6 +189,26 @@ Ext.define('PVE.window.UploadToStorage', {
                        value: '{mimetype}',
                    },
                },
+               {
+                   xtype: 'pveHashAlgorithmSelector',
+                   name: 'checksum-algorithm',
+                   fieldLabel: gettext('Hash algorithm'),
+                   allowBlank: true,
+                   hasNoneOption: true,
+                   value: '__default__',
+                   listeners: {
+                       change: 'hashChange',
+                   },
+               },
+               {
+                   xtype: 'textfield',
+                   name: 'checksum',
+                   fieldLabel: gettext('Checksum'),
+                   allowBlank: false,
+                   disabled: true,
+                   emptyText: gettext('none'),
+                   reference: 'downloadUrlChecksum',
+               },
                {
                    xtype: 'progressbar',
                    text: 'Ready',