acceptedExtensions: {
iso: ['.img', '.iso'],
- vztmpl: ['.tar.gz', '.tar.xz'],
+ vztmpl: ['.tar.gz', '.tar.xz', '.tar.zst'],
},
cbindData: function(initialConfig) {
return {
extensions: ext.join(', '),
+ filenameRegex: RegExp('^.*(?:' + ext.join('|').replaceAll('.', '\\.') + ')$', 'i'),
};
},
fd.append("checksum-algorithm", algorithmField.getValue());
const checksumField = form.findField('checksum');
- fd.append("checksum", checksumField.getValue());
+ fd.append("checksum", checksumField.getValue()?.trim());
checksumField.setDisabled(true);
}
xhr.addEventListener("load", function(e) {
if (xhr.status === 200) {
- view.close();
+ view.hide();
+
+ const result = JSON.parse(xhr.response);
+ const upid = result.data;
+ Ext.create('Proxmox.window.TaskViewer', {
+ autoShow: true,
+ upid: upid,
+ taskDone: view.taskDone,
+ listeners: {
+ destroy: function() {
+ view.close();
+ },
+ },
+ });
+
return;
}
const err = Ext.htmlEncode(xhr.statusText);
bind: {
value: '{filename}',
},
+ cbind: {
+ regex: '{filenameRegex}',
+ },
+ regexText: gettext('Wrong file extension'),
},
{
xtype: 'displayfield',