]> git.proxmox.com Git - pmg-gui.git/blame - js/Subscription.js
add Subscription panel
[pmg-gui.git] / js / Subscription.js
CommitLineData
a10c81d9
DM
1/*global Blob*/
2Ext.define('PMG.SubscriptionKeyEdit', {
3 extend: 'Proxmox.window.Edit',
4
5 title: gettext('Upload Subscription Key'),
6 width: 300,
7 autoLoad: true,
8
9 items: {
10 xtype: 'textfield',
11 name: 'key',
12 value: '',
13 fieldLabel: gettext('Subscription Key')
14 }
15});
16
17Ext.define('PMG.Subscription', {
18 extend: 'Proxmox.grid.ObjectGrid',
19 xtype: 'pmgSubscription',
20
21 //o//nlineHelp: 'getting_help',
22
23 features: [ {ftype: 'selectable'}],
24
25 initComponent : function() {
26 var me = this;
27
28 var reload = function() {
29 me.rstore.load();
30 };
31
32 var baseurl = '/nodes/' + Proxmox.NodeName + '/subscription';
33
34 var render_status = function(value) {
35
36 var message = me.getObjectValue('message');
37
38 if (message) {
39 return value + ": " + message;
40 }
41 return value;
42 };
43
44 var rows = {
45 productname: {
46 header: gettext('Type')
47 },
48 key: {
49 header: gettext('Subscription Key')
50 },
51 status: {
52 header: gettext('Status'),
53 renderer: render_status
54 },
55 message: {
56 visible: false
57 },
58 serverid: {
59 header: gettext('Server ID')
60 },
61 sockets: {
62 header: gettext('Sockets')
63 },
64 checktime: {
65 header: gettext('Last checked'),
66 renderer: Proxmox.Utils.render_timestamp
67 },
68 nextduedate: {
69 header: gettext('Next due date')
70 }
71 };
72
73 Ext.apply(me, {
74 url: '/api2/json' + baseurl,
75 cwidth1: 170,
76 tbar: [
77 {
78 text: gettext('Upload Subscription Key'),
79 handler: function() {
80 var win = Ext.create('PMG.SubscriptionKeyEdit', {
81 url: '/api2/extjs/' + baseurl
82 });
83 win.show();
84 win.on('destroy', reload);
85 }
86 },
87 {
88 text: gettext('Check'),
89 handler: function() {
90 Proxmox.Utils.API2Request({
91 params: { force: 1 },
92 url: baseurl,
93 method: 'POST',
94 waitMsgTarget: me,
95 failure: function(response, opts) {
96 Ext.Msg.alert(gettext('Error'), response.htmlStatus);
97 },
98 callback: reload
99 });
100 }
101 }
102 ],
103 rows: rows
104 });
105
106 me.callParent();
107
108 reload();
109 }
110});