]> git.proxmox.com Git - proxmox-backup.git/blob - www/Subscription.js
www: do incremental lint for development, full for build
[proxmox-backup.git] / www / Subscription.js
1 Ext.define('PBS.SubscriptionKeyEdit', {
2 extend: 'Proxmox.window.Edit',
3
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: '',
14 fieldLabel: gettext('Subscription Key'),
15 },
16 });
17
18 Ext.define('PBS.Subscription', {
19 extend: 'Proxmox.grid.ObjectGrid',
20 xtype: 'pbsSubscription',
21
22 title: gettext('Subscription'),
23
24 border: true,
25
26 onlineHelp: 'getting_help',
27
28 viewConfig: {
29 enableTextSelection: true,
30 },
31
32 initComponent: function() {
33 var me = this;
34
35 var reload = function() {
36 me.rstore.load();
37 };
38
39 var baseurl = '/nodes/localhost/subscription';
40
41 var render_status = function(value) {
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: {
52 header: gettext('Type'),
53 },
54 key: {
55 header: gettext('Subscription Key'),
56 },
57 status: {
58 header: gettext('Status'),
59 renderer: render_status,
60 },
61 message: {
62 visible: false,
63 },
64 serverid: {
65 header: gettext('Server ID'),
66 },
67 sockets: {
68 header: gettext('Sockets'),
69 },
70 checktime: {
71 header: gettext('Last checked'),
72 renderer: Proxmox.Utils.render_timestamp,
73 },
74 nextduedate: {
75 header: gettext('Next due date'),
76 },
77 };
78
79 Ext.apply(me, {
80 url: '/api2/json' + baseurl,
81 cwidth1: 170,
82 tbar: [
83 {
84 text: gettext('Upload Subscription Key'),
85 handler: function() {
86 var win = Ext.create('PBS.SubscriptionKeyEdit', {
87 url: '/api2/extjs/' + baseurl,
88 });
89 win.show();
90 win.on('destroy', reload);
91 },
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 },
104 callback: reload,
105 });
106 },
107 },
108 ],
109 rows: rows,
110 });
111
112 me.callParent();
113
114 reload();
115 },
116 });