]>
git.proxmox.com Git - proxmox-backup.git/blob - www/Subscription.js
1 Ext
.define('PBS.SubscriptionKeyEdit', {
2 extend
: 'Proxmox.window.Edit',
4 title
: gettext('Upload Subscription Key'),
8 onlineHelp
: 'get_help',
15 fieldLabel
: gettext('Subscription Key'),
19 Ext
.define('PBS.Subscription', {
20 extend
: 'Proxmox.grid.ObjectGrid',
21 xtype
: 'pbsSubscription',
23 title
: gettext('Subscription'),
26 onlineHelp
: 'get_help',
29 enableTextSelection
: true,
32 showReport: function() {
35 var getReportFileName = function() {
36 var now
= Ext
.Date
.format(new Date(), 'D-d-F-Y-G-i');
37 return `${me.nodename}-pbs-report-${now}.txt`;
40 var view
= Ext
.createWidget('component', {
41 itemId
: 'system-report-view',
44 'background-color': 'white',
46 'font-family': 'monospace',
51 var reportWindow
= Ext
.create('Ext.window.Window', {
52 title
: gettext('System Report'),
60 text
: gettext('Download'),
62 var fileContent
= Ext
.String
.htmlDecode(reportWindow
.getComponent('system-report-view').html
);
63 var fileName
= getReportFileName();
66 if (window
.navigator
.msSaveOrOpenBlob
) {
67 navigator
.msSaveOrOpenBlob(new Blob([fileContent
]), fileName
);
69 var element
= document
.createElement('a');
70 element
.setAttribute('href', 'data:text/plain;charset=utf-8,' +
71 encodeURIComponent(fileContent
));
72 element
.setAttribute('download', fileName
);
73 element
.style
.display
= 'none';
74 document
.body
.appendChild(element
);
76 document
.body
.removeChild(element
);
84 Proxmox
.Utils
.API2Request({
85 url
: '/api2/extjs/nodes/' + me
.nodename
+ '/report',
88 failure: function(response
) {
89 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
91 success: function(response
) {
92 var report
= Ext
.htmlEncode(response
.result
.data
);
99 initComponent: function() {
102 let reload
= () => me
.rstore
.load();
103 let baseurl
= '/nodes/localhost/subscription';
107 header
: gettext('Type'),
110 header
: gettext('Subscription Key'),
113 header
: gettext('Status'),
114 renderer
: (value
) => {
115 value
= Ext
.String
.capitalize(value
);
116 let message
= me
.getObjectValue('message');
118 return value
+ ": " + message
;
127 header
: gettext('Server ID'),
130 header
: gettext('Last checked'),
131 renderer
: Proxmox
.Utils
.render_timestamp
,
134 header
: gettext('Next due date'),
139 url
: `/api2/json${baseurl}`,
143 text
: gettext('Upload Subscription Key'),
144 iconCls
: 'fa fa-ticket',
145 handler: function() {
146 let win
= Ext
.create('PBS.SubscriptionKeyEdit', {
147 url
: '/api2/extjs/' + baseurl
,
150 win
.on('destroy', reload
);
154 text
: gettext('Check'),
155 iconCls
: 'fa fa-check-square-o',
156 handler: function() {
157 Proxmox
.Utils
.API2Request({
158 params
: { force
: 1 },
162 failure: function(response
, opts
) {
163 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
170 text
: gettext('Remove Subscription'),
171 xtype
: 'proxmoxStdRemoveButton',
172 confirmMsg
: gettext('Are you sure you want to remove the subscription key?'),
177 iconCls
: 'fa fa-trash-o',
181 text
: gettext('System Report'),
182 iconCls
: 'fa fa-stethoscope',
183 handler: function() {
184 Proxmox
.Utils
.checked_command(function() { me
.showReport(); });