proxmox-backup/www/Subscription.js

118 lines
2.3 KiB
JavaScript
Raw Normal View History

2019-01-22 10:48:00 +00:00
Ext.define('PBS.SubscriptionKeyEdit', {
extend: 'Proxmox.window.Edit',
2019-01-22 10:48:00 +00:00
title: gettext('Upload Subscription Key'),
width: 300,
autoLoad: true,
onlineHelp: 'getting_help',
items: {
xtype: 'textfield',
name: 'key',
value: '',
fieldLabel: gettext('Subscription Key'),
},
2019-01-22 10:48:00 +00:00
});
Ext.define('PBS.Subscription', {
extend: 'Proxmox.grid.ObjectGrid',
xtype: 'pbsSubscription',
title: gettext('Subscription'),
2019-04-11 10:18:04 +00:00
border: true,
2019-01-22 10:48:00 +00:00
onlineHelp: 'getting_help',
viewConfig: {
enableTextSelection: true,
2019-01-22 10:48:00 +00:00
},
initComponent: function() {
let me = this;
2019-01-22 10:48:00 +00:00
let reload = () => me.rstore.load();
let baseurl = '/nodes/localhost/subscription';
2019-01-22 10:48:00 +00:00
let rows = {
2019-01-22 10:48:00 +00:00
productname: {
header: gettext('Type'),
2019-01-22 10:48:00 +00:00
},
key: {
header: gettext('Subscription Key'),
2019-01-22 10:48:00 +00:00
},
status: {
header: gettext('Status'),
renderer: (value) => {
value = Ext.String.capitalize(value);
let message = me.getObjectValue('message');
if (message) {
return value + ": " + message;
}
return value;
},
2019-01-22 10:48:00 +00:00
},
message: {
visible: false,
2019-01-22 10:48:00 +00:00
},
serverid: {
header: gettext('Server ID'),
2019-01-22 10:48:00 +00:00
},
checktime: {
header: gettext('Last checked'),
renderer: Proxmox.Utils.render_timestamp,
2019-01-22 10:48:00 +00:00
},
nextduedate: {
header: gettext('Next due date'),
},
2019-01-22 10:48:00 +00:00
};
Ext.apply(me, {
url: `/api2/json${baseurl}`,
2019-01-22 10:48:00 +00:00
cwidth1: 170,
tbar: [
2019-01-22 10:48:00 +00:00
{
text: gettext('Upload Subscription Key'),
handler: function() {
let win = Ext.create('PBS.SubscriptionKeyEdit', {
url: '/api2/extjs/' + baseurl,
2019-01-22 10:48:00 +00:00
});
win.show();
win.on('destroy', reload);
},
2019-01-22 10:48:00 +00:00
},
{
text: gettext('Check'),
handler: function() {
Proxmox.Utils.API2Request({
params: { force: 1 },
url: baseurl,
method: 'POST',
waitMsgTarget: me,
failure: function(response, opts) {
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
},
callback: reload,
2019-01-22 10:48:00 +00:00
});
},
},
{
text: gettext('Remove Subscription'),
xtype: 'proxmoxStdRemoveButton',
confirmMsg: gettext('Are you sure you want to remove the subscription key?'),
baseurl: baseurl,
dangerous: true,
selModel: false,
callback: reload,
},
//'-',
2019-01-22 10:48:00 +00:00
],
rows: rows,
2019-01-22 10:48:00 +00:00
});
me.callParent();
reload();
},
2019-01-22 10:48:00 +00:00
});