mirror of
https://git.proxmox.com/git/pmg-gui
synced 2025-08-14 16:14:18 +00:00
add Subscription panel
This commit is contained in:
parent
57acb12077
commit
a10c81d94d
@ -29,6 +29,7 @@ JSSRC= \
|
|||||||
NavigationTree.js \
|
NavigationTree.js \
|
||||||
RuleConfiguration.js \
|
RuleConfiguration.js \
|
||||||
SystemOptions.js \
|
SystemOptions.js \
|
||||||
|
Subscription.js \
|
||||||
SystemConfiguration.js \
|
SystemConfiguration.js \
|
||||||
MailProxyRelaying.js \
|
MailProxyRelaying.js \
|
||||||
MailProxyPorts.js \
|
MailProxyPorts.js \
|
||||||
|
@ -81,10 +81,10 @@ Ext.define('PMG.store.NavigationStore', {
|
|||||||
leaf: true,
|
leaf: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: gettext('License'),
|
text: gettext('Subscription'),
|
||||||
iconCls: 'fa fa-ticket',
|
iconCls: 'fa fa-support',
|
||||||
path: 'pmgLicense',
|
path: 'pmgSubscription',
|
||||||
leaf: true,
|
leaf: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
110
js/Subscription.js
Normal file
110
js/Subscription.js
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
/*global Blob*/
|
||||||
|
Ext.define('PMG.SubscriptionKeyEdit', {
|
||||||
|
extend: 'Proxmox.window.Edit',
|
||||||
|
|
||||||
|
title: gettext('Upload Subscription Key'),
|
||||||
|
width: 300,
|
||||||
|
autoLoad: true,
|
||||||
|
|
||||||
|
items: {
|
||||||
|
xtype: 'textfield',
|
||||||
|
name: 'key',
|
||||||
|
value: '',
|
||||||
|
fieldLabel: gettext('Subscription Key')
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Ext.define('PMG.Subscription', {
|
||||||
|
extend: 'Proxmox.grid.ObjectGrid',
|
||||||
|
xtype: 'pmgSubscription',
|
||||||
|
|
||||||
|
//o//nlineHelp: 'getting_help',
|
||||||
|
|
||||||
|
features: [ {ftype: 'selectable'}],
|
||||||
|
|
||||||
|
initComponent : function() {
|
||||||
|
var me = this;
|
||||||
|
|
||||||
|
var reload = function() {
|
||||||
|
me.rstore.load();
|
||||||
|
};
|
||||||
|
|
||||||
|
var baseurl = '/nodes/' + Proxmox.NodeName + '/subscription';
|
||||||
|
|
||||||
|
var render_status = function(value) {
|
||||||
|
|
||||||
|
var message = me.getObjectValue('message');
|
||||||
|
|
||||||
|
if (message) {
|
||||||
|
return value + ": " + message;
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
};
|
||||||
|
|
||||||
|
var rows = {
|
||||||
|
productname: {
|
||||||
|
header: gettext('Type')
|
||||||
|
},
|
||||||
|
key: {
|
||||||
|
header: gettext('Subscription Key')
|
||||||
|
},
|
||||||
|
status: {
|
||||||
|
header: gettext('Status'),
|
||||||
|
renderer: render_status
|
||||||
|
},
|
||||||
|
message: {
|
||||||
|
visible: false
|
||||||
|
},
|
||||||
|
serverid: {
|
||||||
|
header: gettext('Server ID')
|
||||||
|
},
|
||||||
|
sockets: {
|
||||||
|
header: gettext('Sockets')
|
||||||
|
},
|
||||||
|
checktime: {
|
||||||
|
header: gettext('Last checked'),
|
||||||
|
renderer: Proxmox.Utils.render_timestamp
|
||||||
|
},
|
||||||
|
nextduedate: {
|
||||||
|
header: gettext('Next due date')
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Ext.apply(me, {
|
||||||
|
url: '/api2/json' + baseurl,
|
||||||
|
cwidth1: 170,
|
||||||
|
tbar: [
|
||||||
|
{
|
||||||
|
text: gettext('Upload Subscription Key'),
|
||||||
|
handler: function() {
|
||||||
|
var win = Ext.create('PMG.SubscriptionKeyEdit', {
|
||||||
|
url: '/api2/extjs/' + baseurl
|
||||||
|
});
|
||||||
|
win.show();
|
||||||
|
win.on('destroy', reload);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
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
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rows: rows
|
||||||
|
});
|
||||||
|
|
||||||
|
me.callParent();
|
||||||
|
|
||||||
|
reload();
|
||||||
|
}
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user