/*global Blob,Proxmox*/ Ext.define('PBS.SubscriptionKeyEdit', { extend: 'Proxmox.window.Edit', title: gettext('Upload Subscription Key'), width: 300, autoLoad: true, onlineHelp: 'getting_help', items: { xtype: 'textfield', name: 'key', value: '', fieldLabel: gettext('Subscription Key') } }); Ext.define('PBS.Subscription', { extend: 'Proxmox.grid.ObjectGrid', xtype: 'pbsSubscription', title: gettext('Subscription'), border: true, onlineHelp: 'getting_help', viewConfig: { enableTextSelection: true }, initComponent : function() { var me = this; var reload = function() { me.rstore.load(); }; var baseurl = '/nodes/localhost/subscription'; var render_status = function(value) { var message = me.getObjectValue('message'); if (message) { return value + ": " + message; } return value; }; var rows = { productname: { header: gettext('Type') }, key: { header: gettext('Subscription Key') }, status: { header: gettext('Status'), renderer: render_status }, message: { visible: false }, serverid: { header: gettext('Server ID') }, sockets: { header: gettext('Sockets') }, checktime: { header: gettext('Last checked'), renderer: Proxmox.Utils.render_timestamp }, nextduedate: { header: gettext('Next due date') } }; Ext.apply(me, { url: '/api2/json' + baseurl, cwidth1: 170, tbar: [ { text: gettext('Upload Subscription Key'), handler: function() { var win = Ext.create('PBS.SubscriptionKeyEdit', { url: '/api2/extjs/' + baseurl }); win.show(); win.on('destroy', reload); } }, { text: gettext('Check'), handler: function() { Proxmox.Utils.API2Request({ params: { force: 1 }, url: baseurl, method: 'POST', waitMsgTarget: me, failure: function(response, opts) { Ext.Msg.alert(gettext('Error'), response.htmlStatus); }, callback: reload }); } } ], rows: rows }); me.callParent(); reload(); } });