ui: tape/TapeInventory: add 'Add Tape' button
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@proxmox.com>
This commit is contained in:
parent
415737b2b8
commit
a585e1f696
@ -29,6 +29,10 @@ Ext.define('PBS.TapeManagement.TapeInventory', {
|
|||||||
controller: {
|
controller: {
|
||||||
xclass: 'Ext.app.ViewController',
|
xclass: 'Ext.app.ViewController',
|
||||||
|
|
||||||
|
addTape: function() {
|
||||||
|
Ext.create('PBS.TapeManagement.LabelMediaWindow').show();
|
||||||
|
},
|
||||||
|
|
||||||
moveToVault: function() {
|
moveToVault: function() {
|
||||||
let me = this;
|
let me = this;
|
||||||
let view = me.getView();
|
let view = me.getView();
|
||||||
@ -92,6 +96,10 @@ Ext.define('PBS.TapeManagement.TapeInventory', {
|
|||||||
handler: 'reload',
|
handler: 'reload',
|
||||||
},
|
},
|
||||||
'-',
|
'-',
|
||||||
|
{
|
||||||
|
text: gettext('Add Tape'),
|
||||||
|
handler: 'addTape',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
xtype: 'proxmoxButton',
|
xtype: 'proxmoxButton',
|
||||||
text: gettext('Set Tape Location'),
|
text: gettext('Set Tape Location'),
|
||||||
|
@ -8,16 +8,41 @@ Ext.define('PBS.TapeManagement.LabelMediaWindow', {
|
|||||||
title: gettext('Label Media'),
|
title: gettext('Label Media'),
|
||||||
submitText: gettext('OK'),
|
submitText: gettext('OK'),
|
||||||
|
|
||||||
|
url: '/api2/extjs/tape/drive/',
|
||||||
|
|
||||||
|
cbindData: function(config) {
|
||||||
|
let me = this;
|
||||||
|
return {
|
||||||
|
driveid: config.driveid,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
|
|
||||||
showProgress: true,
|
showProgress: true,
|
||||||
|
|
||||||
|
submitUrl: function(url, values) {
|
||||||
|
let driveid = encodeURIComponent(values.drive);
|
||||||
|
delete values.drive;
|
||||||
|
return `${url}/${driveid}/label-media`;
|
||||||
|
},
|
||||||
|
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
xtype: 'displayfield',
|
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'),
|
fieldLabel: gettext('Drive'),
|
||||||
|
name: 'drive',
|
||||||
|
editConfig: {
|
||||||
|
xtype: 'pbsDriveSelector',
|
||||||
|
},
|
||||||
cbind: {
|
cbind: {
|
||||||
value: '{driveid}',
|
value: '{driveid}',
|
||||||
|
editable: '{!driveid}',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -34,16 +59,5 @@ Ext.define('PBS.TapeManagement.LabelMediaWindow', {
|
|||||||
skipEmptyText: true,
|
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();
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user