]>
git.proxmox.com Git - pmg-gui.git/blob - js/ClamAVDatabase.js
53a414b326a6688508afaf97e1f2cb2c4fc92bd2
1 Ext
.define('PMG.ClamAVDatabaseConfig', {
2 extend
: 'Proxmox.grid.ObjectGrid',
3 alias
: ['widget.pmgClamAVDatabaseConfig'],
7 initComponent : function() {
10 me
.add_text_row('dbmirror', gettext('Database Mirror'),
11 { deleteEmpty
: true, defaultValue
: 'database.clamav.net' });
13 me
.add_boolean_row('safebrowsing', gettext('Google Safe Browsing'),
16 var baseurl
= '/config/clamav';
19 url
: '/api2/json' + baseurl
,
21 url
: '/api2/extjs' + baseurl
,
26 itemdblclick
: me
.run_editor
32 me
.on('activate', me
.rstore
.startUpdate
);
33 me
.on('destroy', me
.rstore
.stopUpdate
);
34 me
.on('deactivate', me
.rstore
.stopUpdate
);
38 Ext
.define('pmg-clamav-database', {
39 extend
: 'Ext.data.Model',
40 fields
: [ 'name', 'type', 'build_time', 'version',
41 { name
: 'nsigs', type
: 'integer' }],
45 Ext
.define('PMG.ClamAVDatabaseStatus', {
46 extend
: 'Ext.grid.GridPanel',
47 alias
: ['widget.pmgClamAVDatabaseStatus'],
49 title
: gettext('Status'),
57 initComponent : function() {
60 me
.store
= new Ext
.data
.Store({
61 model
: 'pmg-clamav-database',
64 url
: "/api2/json/nodes/" + Proxmox
.NodeName
+ "/clamav/database"
78 header
: gettext('Name'),
84 header
: gettext('Build time'),
87 dataIndex
: 'build_time'
90 header
: gettext('Version'),
96 header
: gettext('Signatures'),
109 Proxmox
.Utils
.monStoreErrors(me
.getView(), me
.store
, true);
113 Ext
.define('PMG.ClamAVDatabase', {
114 extend
: 'Ext.panel.Panel',
115 alias
: ['widget.pmgClamAVDatabase'],
117 layout
: { type
: 'vbox', align
: 'stretch' },
119 initComponent : function() {
122 var selModel
= Ext
.create('Ext.selection.RowModel', {});
123 var editPanel
= Ext
.create('PMG.ClamAVDatabaseConfig', {
125 xtype
: 'pmgClamAVDatabaseConfig',
129 var statusPanel
= Ext
.create('PMG.ClamAVDatabaseStatus', {
134 var update_command = function(){
135 Proxmox
.Utils
.API2Request({
136 url
: '/nodes/' + Proxmox
.NodeName
+ '/clamav/database',
138 failure: function(response
, opts
) {
139 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
141 success: function(response
, opts
) {
142 var upid
= response
.result
.data
;
144 var win
= Ext
.create('Proxmox.window.TaskViewer', {
148 me
.mon(win
, 'close', function() { statusPanel
.reload() });
155 text
: gettext('Edit'),
156 xtype
: 'proxmoxButton',
158 handler: function() { editPanel
.run_editor() },
162 text
: gettext('Update now'),
163 handler
: update_command
167 me
.items
= [ editPanel
, statusPanel
];
171 editPanel
.relayEvents(me
, ['activate', 'deactivate', 'destroy']);
172 statusPanel
.relayEvents(me
, ['activate', 'deactivate', 'destroy']);