[pbs-devel] [PATCH proxmox-backup 2/3] ui: tape/TapeInventory: add 'Add Tape' button
Dominik Csapak
d.csapak at proxmox.com
Mon Feb 15 15:22:22 CET 2021
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 <d.csapak at proxmox.com>
---
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
More information about the pbs-devel
mailing list