public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Fabian Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH v10 manager 11/19] ui: multi disk edit: allow setting config ID when adding disk
Date: Wed,  6 Apr 2022 10:04:08 +0200	[thread overview]
Message-ID: <20220406080416.66227-12-f.ebner@proxmox.com> (raw)
In-Reply-To: <20220406080416.66227-1-f.ebner@proxmox.com>

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
---
 www/manager6/panel/MultiDiskEdit.js | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/www/manager6/panel/MultiDiskEdit.js b/www/manager6/panel/MultiDiskEdit.js
index c1fd0617..7ba8246a 100644
--- a/www/manager6/panel/MultiDiskEdit.js
+++ b/www/manager6/panel/MultiDiskEdit.js
@@ -34,26 +34,35 @@ Ext.define('PVE.panel.MultiDiskPanel', {
 	// define in subclass
 	diskSorter: undefined,
 
-	addDisk: function() {
+	addDisk: function(confid) {
 	    let me = this;
 	    let grid = me.lookup('grid');
 	    let store = grid.getStore();
 
 	    // get free disk id
 	    let vmconfig = me.getVMConfig(true);
-	    let nextFreeDisk = me.getNextFreeDisk(vmconfig);
-	    if (!nextFreeDisk) {
+
+	    if (!confid) {
+		let nextFreeDisk = me.getNextFreeDisk(vmconfig);
+		if (!nextFreeDisk) {
+		    return;
+		}
+		confid = nextFreeDisk.confid;
+	    }
+
+	    if (store.findRecord('name', confid, 0, false, true, true) !== null) {
+		console.warn(`multi disk panel - disk for ${confid} already defined!`);
 		return;
 	    }
 
 	    // add store entry + panel
 	    let itemId = 'disk-card-' + ++Ext.idSeed;
 	    let rec = store.add({
-		name: nextFreeDisk.confid,
+		name: confid,
 		itemId,
 	    })[0];
 
-	    let panel = me.addPanel(itemId, vmconfig, nextFreeDisk.confid);
+	    let panel = me.addPanel(itemId, vmconfig, confid);
 	    panel.updateVMConfig(vmconfig);
 
 	    // we need to setup a validitychange handler, so that we can show
-- 
2.30.2





  parent reply	other threads:[~2022-04-06  8:05 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-06  8:03 [pve-devel] [PATCH-SERIES v10 manager] Add GUI to import disk & VM Fabian Ebner
2022-04-06  8:03 ` [pve-devel] [PATCH v10 manager 01/19] api: nodes: add readovf endpoint Fabian Ebner
2022-04-06  8:03 ` [pve-devel] [PATCH v10 manager 02/19] ui: HD edit: get rid of unneeded binding for backup checkbox Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 03/19] ui: HD edit: move advanced options into a dedicated tab Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 04/19] ui: disk storage selector: add setSize function Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 05/19] ui: file selector: add getCurrentSize function Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 06/19] ui: HD edit: allow selecting import source Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 07/19] ui: CD edit: handle change even if not yet rendered Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 08/19] ui: multi disk edit: only pass confid for addPanel Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 09/19] ui: HD edit: allow preselecting config ID Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 10/19] ui: multi HD edit: pre select passed-in " Fabian Ebner
2022-04-06  8:04 ` Fabian Ebner [this message]
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 12/19] ui: multi disk edit: add removeAllDisks function Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 13/19] ui: multi disk edit: allow adding a disk with existing settings Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 14/19] ui: multi disk edit: expose addDisk outside of the controller Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 15/19] ui: HD edit: set drive: make specifying file/volid optional Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 16/19] ui: HD edit: support setting an import path in setDrive Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 17/19] ui: qemu: memory edit: expose setMemory outside the controller Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 18/19] ui: qemu: memory edit: allow passing explicit value Fabian Ebner
2022-04-06  8:04 ` [pve-devel] [PATCH v10 manager 19/19] ui: qemu: wizard: add import from OVF functionality Fabian Ebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220406080416.66227-12-f.ebner@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal