]>
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'), | |
63bd6a9f | 23 | border: true, |
b0ee976f DM |
24 | |
25 | onlineHelp: 'getting_help', | |
26 | ||
27 | viewConfig: { | |
6ab77df3 | 28 | enableTextSelection: true, |
b0ee976f DM |
29 | }, |
30 | ||
6ab77df3 | 31 | initComponent: function() { |
d28e6886 | 32 | let me = this; |
b0ee976f | 33 | |
d28e6886 TL |
34 | let reload = () => me.rstore.load(); |
35 | let baseurl = '/nodes/localhost/subscription'; | |
b0ee976f | 36 | |
d28e6886 | 37 | let rows = { |
b0ee976f | 38 | productname: { |
6ab77df3 | 39 | header: gettext('Type'), |
b0ee976f DM |
40 | }, |
41 | key: { | |
6ab77df3 | 42 | header: gettext('Subscription Key'), |
b0ee976f DM |
43 | }, |
44 | status: { | |
45 | header: gettext('Status'), | |
d28e6886 TL |
46 | renderer: (value) => { |
47 | value = Ext.String.capitalize(value); | |
48 | let message = me.getObjectValue('message'); | |
49 | if (message) { | |
50 | return value + ": " + message; | |
51 | } | |
52 | return value; | |
53 | }, | |
b0ee976f DM |
54 | }, |
55 | message: { | |
6ab77df3 | 56 | visible: false, |
b0ee976f DM |
57 | }, |
58 | serverid: { | |
6ab77df3 | 59 | header: gettext('Server ID'), |
b0ee976f | 60 | }, |
b0ee976f DM |
61 | checktime: { |
62 | header: gettext('Last checked'), | |
6ab77df3 | 63 | renderer: Proxmox.Utils.render_timestamp, |
b0ee976f DM |
64 | }, |
65 | nextduedate: { | |
6ab77df3 TL |
66 | header: gettext('Next due date'), |
67 | }, | |
b0ee976f DM |
68 | }; |
69 | ||
70 | Ext.apply(me, { | |
d28e6886 | 71 | url: `/api2/json${baseurl}`, |
b0ee976f | 72 | cwidth1: 170, |
2e75b6d8 | 73 | tbar: [ |
b0ee976f DM |
74 | { |
75 | text: gettext('Upload Subscription Key'), | |
76 | handler: function() { | |
d28e6886 | 77 | let win = Ext.create('PBS.SubscriptionKeyEdit', { |
6ab77df3 | 78 | url: '/api2/extjs/' + baseurl, |
b0ee976f DM |
79 | }); |
80 | win.show(); | |
81 | win.on('destroy', reload); | |
6ab77df3 | 82 | }, |
b0ee976f DM |
83 | }, |
84 | { | |
85 | text: gettext('Check'), | |
86 | handler: function() { | |
87 | Proxmox.Utils.API2Request({ | |
88 | params: { force: 1 }, | |
89 | url: baseurl, | |
90 | method: 'POST', | |
91 | waitMsgTarget: me, | |
92 | failure: function(response, opts) { | |
93 | Ext.Msg.alert(gettext('Error'), response.htmlStatus); | |
94 | }, | |
6ab77df3 | 95 | callback: reload, |
b0ee976f | 96 | }); |
6ab77df3 TL |
97 | }, |
98 | }, | |
d3444c08 TL |
99 | { |
100 | text: gettext('Remove Subscription'), | |
101 | xtype: 'proxmoxStdRemoveButton', | |
102 | confirmMsg: gettext('Are you sure you want to remove the subscription key?'), | |
103 | baseurl: baseurl, | |
104 | dangerous: true, | |
105 | selModel: false, | |
106 | callback: reload, | |
107 | }, | |
108 | //'-', | |
b0ee976f | 109 | ], |
6ab77df3 | 110 | rows: rows, |
b0ee976f DM |
111 | }); |
112 | ||
113 | me.callParent(); | |
114 | ||
115 | reload(); | |
6ab77df3 | 116 | }, |
b0ee976f | 117 | }); |