Ext.define('PVE.dc.Support', {
extend: 'Ext.panel.Panel',
alias: 'widget.pveDcSupport',
invalidHtml: '
No valid subscription
' + PVE.Utils.noSubKeyHtml,
communityHtml: 'Please use the public community forum for any questions.',
activeHtml: 'Please use our support portal for any questions. You can also use the public community forum to get additional information.',
bugzillaHtml: 'Bug Tracking
Our bug tracking system is available here.',
docuHtml: 'Documentation
Complete documentation, tutorials, videos and more is available at our wiki.',
updateActive: function(data) {
var me = this;
var html = '' + data.productname + '
' + me.activeHtml;
html += '
' + me.docuHtml;
html += '
' + me.bugzillaHtml;
me.update(html);
},
updateCommunity: function(data) {
var me = this;
var html = '' + data.productname + '
' + me.communityHtml;
html += '
' + me.docuHtml;
html += '
' + me.bugzillaHtml;
me.update(html);
},
updateInactive: function(data) {
var me = this;
me.update(me.invalidHtml);
},
initComponent: function() {
var me = this;
var reload = function() {
PVE.Utils.API2Request({
url: '/nodes/localhost/subscription',
method: 'GET',
waitMsgTarget: me,
failure: function(response, opts) {
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
me.update(gettext('Unable to load subscription status') + ": " + response.htmlStatus);
},
success: function(response, opts) {
var data = response.result.data;
if (data.status === 'Active') {
if (data.level === 'c') {
me.updateCommunity(data);
} else {
me.updateActive(data);
}
} else {
me.updateInactive(data);
}
}
});
};
Ext.apply(me, {
autoScroll: true,
bodyStyle: 'padding:10px',
listeners: {
show: reload
}
});
me.callParent();
}
});