]> git.proxmox.com Git - pmg-gui.git/blame - js/PostfixQShape.js
remove old RuleList
[pmg-gui.git] / js / PostfixQShape.js
CommitLineData
a1da2b36
DM
1Ext.define('pmg-qshape', {
2 extend: 'Ext.data.Model',
3 fields: [
4 'domain',
5 { type: 'integer', name: 'total'},
6 { type: 'integer', name: '5s'},
7 { type: 'integer', name: '10s'},
8 { type: 'integer', name: '20s'},
9 { type: 'integer', name: '40s'},
10 { type: 'integer', name: '80s'},
11 { type: 'integer', name: '160s'},
12 { type: 'integer', name: '320s'},
13 { type: 'integer', name: '640s'},
14 { type: 'integer', name: '1280s'},
15 { type: 'integer', name: '1280s+'}
16 ],
a1da2b36
DM
17 idProperty: 'domain'
18});
19
20Ext.define('PMG.Postfix.QShape', {
21 extend: 'Ext.grid.GridPanel',
22 alias: 'widget.pmgPostfixQShape',
23
f24df9c1
DM
24 nodename : undefined,
25
a1da2b36
DM
26 store: {
27 autoLoad: true,
28 model: 'pmg-qshape'
29 },
30
31 controller: {
32
33 xclass: 'Ext.app.ViewController',
34
f24df9c1
DM
35 init: function(view) {
36 if (view.nodename) view.setNodename(view.nodename);
37 },
38
a1da2b36 39 onFlush: function() {
153408d5
DM
40 var view = this.getView();
41
42 Proxmox.Utils.API2Request({
723e6671 43 url: '/api2/extjs/nodes/' + view.nodename + '/postfix/flush_queues',
153408d5
DM
44 method: 'POST',
45 waitMsgTarget: view,
46 success: function(response, opts) {
47 view.store.load();
48 },
49 failure: function (response, opts) {
50 Ext.Msg.alert(gettext('Error'), response.htmlStatus);
51 }
52 });
a1da2b36
DM
53 },
54
55 onDeleteAll: function() {
153408d5
DM
56 var view = this.getView();
57
58 Proxmox.Utils.API2Request({
91814a76
DM
59 url: '/api2/extjs/nodes/' + view.nodename + '/postfix/queue/deferred',
60 method: 'DELETE',
153408d5
DM
61 waitMsgTarget: view,
62 success: function(response, opts) {
63 view.store.load();
64 },
65 failure: function (response, opts) {
66 Ext.Msg.alert(gettext('Error'), response.htmlStatus);
67 }
68 });
a1da2b36
DM
69 },
70
71 onDiscardVerifyDatabase: function() {
153408d5
DM
72 var view = this.getView();
73
74 Proxmox.Utils.API2Request({
723e6671 75 url: '/api2/extjs/nodes/' + view.nodename + '/postfix/discard_verify_cache',
153408d5
DM
76 method: 'POST',
77 waitMsgTarget: view,
78 failure: function (response, opts) {
79 Ext.Msg.alert(gettext('Error'), response.htmlStatus);
80 }
81 });
f24df9c1
DM
82 },
83
84 control: {
85 '#': {
86 activate: function() {
87 this.view.store.load(); // reload
88 }
89 },
a1da2b36
DM
90 }
91 },
92
93 tbar: [
94 {
95 text: gettext('Flush Queue'),
96 handler: 'onFlush'
97 },
98 {
99 xtype: 'proxmoxButton',
100 text: gettext('Delete all Messages'),
153408d5
DM
101 dangerous: true,
102 confirmMsg: "Are you sure you want to delete all deferred mails?",
a1da2b36
DM
103 selModel: null,
104 handler: 'onDeleteAll'
105 },
106 {
a1da2b36 107 text: gettext('Discard address verification database'),
a1da2b36
DM
108 handler: 'onDiscardVerifyDatabase'
109 }
110 ],
111
112 columns: [
113 {
114 header: gettext('Domain'),
115 width: 200,
116 dataIndex: 'domain'
117 },
118 {
119 header: gettext('Total'),
120 width: 80,
121 dataIndex: 'total'
122 },
123 {
124 header: '5s',
125 width: 80,
126 dataIndex: '5s'
127 },
128 {
129 header: '10s',
130 width: 80,
131 dataIndex: '10s'
132 },
133 {
134 header: '20s',
135 width: 80,
136 dataIndex: '20s'
137 },
138 {
139 header: '40s',
140 width: 80,
141 dataIndex: '40s'
142 },
143 {
144 header: '80s',
145 width: 80,
146 dataIndex: '80s'
147 },
148 {
149 header: '160s',
150 width: 80,
151 dataIndex: '160s'
152 },
153 {
154 header: '320s',
155 width: 80,
156 dataIndex: '320s'
157 },
158 {
159 header: '640s',
160 width: 80,
161 dataIndex: '640s'
162 },
163 {
164 header: '1280s',
165 width: 80,
166 dataIndex: '1280s'
167 },
168 {
169 header: '1280s+',
170 width: 80,
171 dataIndex: '1280s+'
172 }
f24df9c1
DM
173 ],
174
175 setNodename: function(nodename) {
176 var me = this;
177
178 me.nodename = nodename;
179
180 me.store.setProxy({
181 type: 'proxmox',
182 url: "/api2/json/nodes/" + me.nodename + "/postfix/qshape"
183 });
184
185 me.store.load();
186 }
187
a1da2b36 188});