add Subscription panel

This commit is contained in:
Dietmar Maurer 2017-09-27 12:55:54 +02:00
parent 57acb12077
commit a10c81d94d
3 changed files with 115 additions and 4 deletions

View File

@ -29,6 +29,7 @@ JSSRC= \
NavigationTree.js \
RuleConfiguration.js \
SystemOptions.js \
Subscription.js \
SystemConfiguration.js \
MailProxyRelaying.js \
MailProxyPorts.js \

View File

@ -81,10 +81,10 @@ Ext.define('PMG.store.NavigationStore', {
leaf: true,
},
{
text: gettext('License'),
iconCls: 'fa fa-ticket',
path: 'pmgLicense',
leaf: true,
text: gettext('Subscription'),
iconCls: 'fa fa-support',
path: 'pmgSubscription',
leaf: true
}
]
},

110
js/Subscription.js Normal file
View 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();
}
});