From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 4161D69FEC for ; Mon, 15 Feb 2021 15:22:55 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 3844FBD62 for ; Mon, 15 Feb 2021 15:22:25 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 9CC7DBD58 for ; Mon, 15 Feb 2021 15:22:24 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 5EE6346258 for ; Mon, 15 Feb 2021 15:22:24 +0100 (CET) From: Dominik Csapak To: pbs-devel@lists.proxmox.com Date: Mon, 15 Feb 2021 15:22:22 +0100 Message-Id: <20210215142223.11140-2-d.csapak@proxmox.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210215142223.11140-1-d.csapak@proxmox.com> References: <20210215142223.11140-1-d.csapak@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.223 Adjusted score from AWL reputation of From: address KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] [PATCH proxmox-backup 2/3] ui: tape/TapeInventory: add 'Add Tape' button X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Feb 2021 14:22:55 -0000 by adapting and reusing the 'LabelMedia' window shows a short notice about inserting the correct tape in the drive and now allows to select a drive Signed-off-by: Dominik Csapak --- www/tape/TapeInventory.js | 8 ++++++++ www/tape/window/LabelMedia.js | 36 ++++++++++++++++++++++++----------- 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/www/tape/TapeInventory.js b/www/tape/TapeInventory.js index c641e492..25dea1ba 100644 --- a/www/tape/TapeInventory.js +++ b/www/tape/TapeInventory.js @@ -29,6 +29,10 @@ Ext.define('PBS.TapeManagement.TapeInventory', { controller: { xclass: 'Ext.app.ViewController', + addTape: function() { + Ext.create('PBS.TapeManagement.LabelMediaWindow').show(); + }, + moveToVault: function() { let me = this; let view = me.getView(); @@ -92,6 +96,10 @@ Ext.define('PBS.TapeManagement.TapeInventory', { handler: 'reload', }, '-', + { + text: gettext('Add Tape'), + handler: 'addTape', + }, { xtype: 'proxmoxButton', text: gettext('Set Tape Location'), diff --git a/www/tape/window/LabelMedia.js b/www/tape/window/LabelMedia.js index 563f59f0..b3dd8f48 100644 --- a/www/tape/window/LabelMedia.js +++ b/www/tape/window/LabelMedia.js @@ -8,16 +8,41 @@ Ext.define('PBS.TapeManagement.LabelMediaWindow', { title: gettext('Label Media'), submitText: gettext('OK'), + url: '/api2/extjs/tape/drive/', + + cbindData: function(config) { + let me = this; + return { + driveid: config.driveid, + }; + }, + method: 'POST', showProgress: true, + submitUrl: function(url, values) { + let driveid = encodeURIComponent(values.drive); + delete values.drive; + return `${url}/${driveid}/label-media`; + }, + items: [ { xtype: 'displayfield', + cls: 'pmx-hint', + value: gettext('Make sure that the correct tape is inserted the selected drive and type in the label written on the tape.'), + }, + { + xtype: 'pmxDisplayEditField', fieldLabel: gettext('Drive'), + name: 'drive', + editConfig: { + xtype: 'pbsDriveSelector', + }, cbind: { value: '{driveid}', + editable: '{!driveid}', }, }, { @@ -34,16 +59,5 @@ Ext.define('PBS.TapeManagement.LabelMediaWindow', { skipEmptyText: true, }, ], - - initComponent: function() { - let me = this; - if (!me.driveid) { - throw "no driveid given"; - } - - let driveid = encodeURIComponent(me.driveid); - me.url = `/api2/extjs/tape/drive/${driveid}/label-media`; - me.callParent(); - }, }); -- 2.20.1