]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
fix #2933: correct behaviour of initgpt button
authorDominik Csapak <d.csapak@proxmox.com>
Fri, 14 Aug 2020 08:33:52 +0000 (10:33 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 20 Aug 2020 15:32:03 +0000 (17:32 +0200)
fixes 4 issues:
* use correct /api2/ext url to get the 'success' parameter
* check 'used' property for 'unused' (pbs vs pve)
* use 'name' instead of 'devpath' for id
  (name always contains the correct id for the product,
  e.g. /dev/sdd for pve and sdd for pbs)
* add a reload in taskDone to reload the list of disks when the inti is done

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
src/grid/DiskList.js

index 03d67252f0fcc1476e52aaec44e8fc369813d295..2985cc4a35f2a28dc673efe74ecf671038106009 100644 (file)
@@ -73,10 +73,10 @@ Ext.define('Proxmox.DiskList', {
 
            let rec = selection[0];
            Proxmox.Utils.API2Request({
-               url: `${view.baseurl}/initgpt`,
+               url: `${view.exturl}/initgpt`,
                waitMsgTarget: view,
                method: 'POST',
-               params: { disk: rec.data.devpath },
+               params: { disk: rec.data.name },
                failure: function(response, options) {
                    Ext.Msg.alert(gettext('Error'), response.htmlStatus);
                },
@@ -84,6 +84,9 @@ Ext.define('Proxmox.DiskList', {
                    var upid = response.result.data;
                    var win = Ext.create('Proxmox.window.TaskProgress', {
                        upid: upid,
+                       taskDone: function() {
+                           me.reload()
+                       }
                    });
                    win.show();
                },
@@ -95,6 +98,7 @@ Ext.define('Proxmox.DiskList', {
 
            let nodename = view.nodename || 'localhost';
            view.baseurl = `/api2/json/nodes/${nodename}/disks`;
+           view.exturl = `/api2/extjs/nodes/${nodename}/disks`;
            view.getStore().getProxy().setUrl(`${view.baseurl}/list`);
            view.getStore().load();
        },
@@ -129,7 +133,7 @@ Ext.define('Proxmox.DiskList', {
            text: gettext('Initialize Disk with GPT'),
            disabled: true,
            enableFn: function(rec) {
-               if (!rec || rec.data.used) {
+               if (!rec || (rec.data.used && rec.data.used !== 'unused')) {
                    return false;
                } else {
                    return true;