]>
git.proxmox.com Git - pmg-gui.git/blob - js/SpamDetectorStatus.js
1 Ext
.define('pmg-spamassassin-database', {
2 extend
: 'Ext.data.Model',
4 'channel', 'version', 'update_version',
5 { name
: 'update_avail', type
: 'boolean' },
6 { name
: 'last_updated', type
: 'date', dateFormat
: 'timestamp' },
11 Ext
.define('PMG.SpamDetectorStatusGrid', {
12 extend
: 'Ext.grid.GridPanel',
13 xtype
: 'pmgSpamDetectorStatus',
15 title
: gettext('Status'),
22 header
: gettext('Channel'),
28 header
: gettext('Last Update'),
31 dataIndex
: 'last_updated',
34 header
: gettext('Version'),
40 header
: gettext('Update Available'),
43 dataIndex
: 'update_avail',
44 renderer: function(value
, metaData
, record
) {
46 return Proxmox
.Utils
.noText
;
48 return Proxmox
.Utils
.yesText
+ ' (' + record
.data
.update_version
+ ')';
55 activate: function() {
63 text
: gettext('Update Now'),
65 let view
= this.up('grid');
66 Proxmox
.Utils
.API2Request({
67 url
: '/nodes/' + Proxmox
.NodeName
+ '/spamassassin/rules',
69 failure: function(response
) {
70 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
72 success: function(response
) {
73 const upid
= response
.result
.data
;
75 let win
= Ext
.create('Proxmox.window.TaskViewer', {
79 view
.mon(win
, 'close', () => view
.store
.load());
86 initComponent: function() {
89 me
.store
= Ext
.create('Ext.data.Store', {
90 model
: 'pmg-spamassassin-database',
93 url
: "/api2/json/nodes/" + Proxmox
.NodeName
+ "/spamassassin/rules",
103 Proxmox
.Utils
.monStoreErrors(me
.getView(), me
.store
, true);