]>
git.proxmox.com Git - pmg-gui.git/blob - js/Subscription.js
1 /*global Blob,Proxmox*/
2 Ext
.define('PMG.SubscriptionKeyEdit', {
3 extend
: 'Proxmox.window.Edit',
5 title
: gettext('Upload Subscription Key'),
9 onlineHelp
: 'getting_help',
15 fieldLabel
: gettext('Subscription Key')
19 Ext
.define('PMG.Subscription', {
20 extend
: 'Proxmox.grid.ObjectGrid',
21 xtype
: 'pmgSubscription',
23 title
: gettext('Subscription'),
27 onlineHelp
: 'getting_help',
30 enableTextSelection
: true
33 showReport: function() {
36 var getReportFileName = function() {
37 var now
= Ext
.Date
.format(new Date(), 'D-d-F-Y-G-i');
38 return Proxmox
.NodeName
+ '-report-' + now
+ '.txt';
41 var view
= Ext
.createWidget('component', {
42 itemId
: 'system-report-view',
45 'background-color': 'white',
47 'font-family': 'monospace',
52 var reportWindow
= Ext
.create('Ext.window.Window', {
53 title
: gettext('System Report'),
61 text
: gettext('Download'),
63 var fileContent
= Ext
.String
.htmlDecode(reportWindow
.getComponent('system-report-view').html
);
64 var fileName
= getReportFileName();
67 if (window
.navigator
.msSaveOrOpenBlob
) {
68 navigator
.msSaveOrOpenBlob(new Blob([fileContent
]), fileName
);
70 var element
= document
.createElement('a');
71 element
.setAttribute('href', 'data:text/plain;charset=utf-8,'
72 + encodeURIComponent(fileContent
));
73 element
.setAttribute('download', fileName
);
74 element
.style
.display
= 'none';
75 document
.body
.appendChild(element
);
77 document
.body
.removeChild(element
);
85 Proxmox
.Utils
.API2Request({
86 url
: '/api2/extjs/nodes/' + Proxmox
.NodeName
+ '/report',
89 failure: function(response
) {
90 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
92 success: function(response
) {
93 var report
= Ext
.htmlEncode(response
.result
.data
);
100 initComponent : function() {
103 var reload = function() {
107 var baseurl
= '/nodes/' + Proxmox
.NodeName
+ '/subscription';
109 var render_status = function(value
) {
111 var message
= me
.getObjectValue('message');
114 return value
+ ": " + message
;
121 header
: gettext('Type')
124 header
: gettext('Subscription Key')
127 header
: gettext('Status'),
128 renderer
: render_status
134 header
: gettext('Server ID')
137 header
: gettext('Sockets')
140 header
: gettext('Last checked'),
141 renderer
: Proxmox
.Utils
.render_timestamp
144 header
: gettext('Next due date')
149 url
: '/api2/json' + baseurl
,
153 text
: gettext('Upload Subscription Key'),
154 handler: function() {
155 var win
= Ext
.create('PMG.SubscriptionKeyEdit', {
156 url
: '/api2/extjs/' + baseurl
159 win
.on('destroy', reload
);
163 text
: gettext('Check'),
164 handler: function() {
165 Proxmox
.Utils
.API2Request({
166 params
: { force
: 1 },
170 failure: function(response
, opts
) {
171 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
178 text
: gettext('System Report'),
179 handler: function() {
180 Proxmox
.Utils
.checked_command(function (){ me
.showReport(); });