]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/node/Subscription.js
1 Ext
.define('PVE.node.SubscriptionKeyEdit', {
2 extend
: 'Proxmox.window.Edit',
3 title
: gettext('Upload Subscription Key'),
9 fieldLabel
: gettext('Subscription Key'),
11 initComponent: function() {
20 Ext
.define('PVE.node.Subscription', {
21 extend
: 'Proxmox.grid.ObjectGrid',
23 alias
: ['widget.pveNodeSubscription'],
25 onlineHelp
: 'getting_help',
28 enableTextSelection
: true,
31 showReport: function() {
34 var getReportFileName = function() {
35 var now
= Ext
.Date
.format(new Date(), 'D-d-F-Y-G-i');
36 return `${me.nodename}-pve-report-${now}.txt`;
39 var view
= Ext
.createWidget('component', {
40 itemId
: 'system-report-view',
43 'background-color': 'white',
45 'font-family': 'monospace',
50 var reportWindow
= Ext
.create('Ext.window.Window', {
51 title
: gettext('System Report'),
59 text
: gettext('Download'),
61 var fileContent
= Ext
.String
.htmlDecode(reportWindow
.getComponent('system-report-view').html
);
62 var fileName
= getReportFileName();
65 if (window
.navigator
.msSaveOrOpenBlob
) {
66 navigator
.msSaveOrOpenBlob(new Blob([fileContent
]), fileName
);
68 var element
= document
.createElement('a');
69 element
.setAttribute('href', 'data:text/plain;charset=utf-8,' +
70 encodeURIComponent(fileContent
));
71 element
.setAttribute('download', fileName
);
72 element
.style
.display
= 'none';
73 document
.body
.appendChild(element
);
75 document
.body
.removeChild(element
);
83 Proxmox
.Utils
.API2Request({
84 url
: '/api2/extjs/nodes/' + me
.nodename
+ '/report',
87 failure: function(response
) {
88 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
90 success: function(response
) {
91 var report
= Ext
.htmlEncode(response
.result
.data
);
98 initComponent: function() {
102 throw "no node name specified";
105 var reload = function() {
109 var baseurl
= '/nodes/' + me
.nodename
+ '/subscription';
111 var render_status = function(value
) {
112 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'),
147 header
: gettext('Signed/Offline'),
148 renderer
: (value
) => {
150 return gettext('Yes');
152 return gettext('No');
159 url
: '/api2/json' + baseurl
,
163 text
: gettext('Upload Subscription Key'),
164 handler: function() {
165 var win
= Ext
.create('PVE.node.SubscriptionKeyEdit', {
166 url
: '/api2/extjs/' + baseurl
,
169 win
.on('destroy', reload
);
173 text
: gettext('Check'),
174 handler: function() {
175 Proxmox
.Utils
.API2Request({
176 params
: { force
: 1 },
180 failure: function(response
, opts
) {
181 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
188 text
: gettext('Remove Subscription'),
189 xtype
: 'proxmoxStdRemoveButton',
190 confirmMsg
: gettext('Are you sure you want to remove the subscription key?'),
198 text
: gettext('System Report'),
199 handler: function() {
200 Proxmox
.Utils
.checked_command(function() { me
.showReport(); });