]> git.proxmox.com Git - pmg-gui.git/blame - js/FetchmailView.js
check if load is successfull in GeneralMailStatistics
[pmg-gui.git] / js / FetchmailView.js
CommitLineData
ff735274 1/*global Proxmox*/
6a2f908e
DM
2Ext.define('pmg-fetchmail-users', {
3 extend: 'Ext.data.Model',
4 fields: [
5 'id', 'protocol', 'port', 'server', 'user', 'pass', 'target',
6 'ssl', 'keep',
7 { type: 'integer', name: 'interval' },
771bd0b9 8 { type: 'boolean', name: 'enable' }
6a2f908e
DM
9 ],
10 proxy: {
11 type: 'proxmox',
12 url: "/api2/json/config/fetchmail"
13 },
14 idProperty: 'id'
15});
16
17Ext.define('PMG.FetchmailView', {
18 extend: 'Ext.grid.GridPanel',
19 xtype: 'pmgFetchmailView',
20
c37614f5
DM
21 baseurl: '/api2/extjs/config/fetchmail',
22
6a2f908e
DM
23 store: {
24 autoDestroy: true,
25 autoLoad: true,
26 model: 'pmg-fetchmail-users'
27 },
28
29 controller: {
30
31 xclass: 'Ext.app.ViewController',
32
33 init: function(view) {
34 Proxmox.Utils.monStoreErrors(view, view.store, true);
c37614f5
DM
35 },
36
30a27efa
DM
37 onAdd: function() {
38 var view = this.getView();
39
40 var win = Ext.create('PMG.FetchmailEdit', {
41 url: view.baseurl,
771bd0b9 42 method: 'POST'
30a27efa 43 });
131ba4f6 44 win.on('destroy', function() { view.store.load(); });
30a27efa
DM
45 win.show();
46 },
47
c37614f5
DM
48 onEdit: function() {
49 var view = this.getView();
50
51 var rec = view.selModel.getSelection()[0];
52
53 var win = Ext.create('PMG.FetchmailEdit', {
54 userid: rec.data.id,
55 url: view.baseurl + '/' + rec.data.id,
56 method: 'PUT',
57 autoLoad: true
58 });
59 win.on('destroy', function() { view.store.load(); });
60 win.show();
a989cf62
DM
61 },
62
63 onAfterRemove: function(btn, res) {
64 var view = this.getView();
65 view.store.load();
6a2f908e
DM
66 }
67 },
68
a989cf62 69 tbar: [
30a27efa
DM
70 {
71 text: gettext('Add'),
72 reference: 'addBtn',
73 handler: 'onAdd'
74 },
75 {
76 xtype: 'proxmoxButton',
77 text: gettext('Edit'),
78 disabled: true,
79 handler: 'onEdit'
80 },
a989cf62
DM
81 {
82 xtype: 'proxmoxStdRemoveButton',
83 baseurl: '/config/fetchmail',
84 reference: 'removeBtn',
85 callback: 'onAfterRemove',
86 waitMsgTarget: true
771bd0b9 87 }
a989cf62
DM
88 ],
89
6a2f908e
DM
90 listeners: {
91 //scope: 'controller',
771bd0b9 92 itemdblclick: 'onEdit'
6a2f908e
DM
93 },
94
c37614f5 95 columns: [
6a2f908e
DM
96 {
97 header: gettext('Server'),
98 flex: 1,
99 renderer: Ext.String.htmlEncode,
100 dataIndex: 'server'
101 },
30a27efa
DM
102 {
103 header: gettext('Protocol'),
104 dataIndex: 'protocol'
105 },
6a2f908e
DM
106 {
107 header: gettext('User name'),
108 flex: 1,
109 renderer: Ext.String.htmlEncode,
110 dataIndex: 'user'
111 },
112 {
113 header: gettext('Deliver to'),
114 flex: 1,
115 renderer: Ext.String.htmlEncode,
116 dataIndex: 'target'
117 },
118 {
119 header: gettext('Enabled'),
120 sortable: true,
121 renderer: Proxmox.Utils.format_boolean,
122 dataIndex: 'enable'
123 },
124 {
125 header: gettext('Interval'),
126 dataIndex: 'interval'
127 }
128 ]
129});