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