Pman.Tab.AdminNotify.bjs
[Pman.Admin] / Pman.Tab.AdminNotify.js
1 //<script type="text/javascript">
2
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
4
5 Pman.Tab.AdminNotify = new Roo.XComponent({
6     part     :  ["Admin","Notify"],
7     order    : '001-Pman.Tab.AdminNotify',
8     region   : 'center',
9     parent   : 'Pman.Tab.AdminWatchNotify',
10     name     : "Pman.Tab.AdminNotify",
11     disabled : false, 
12     permname : '', 
13     _tree : function()
14     {
15         var _this = this;
16         var MODULE = this;
17         return {
18             xtype: 'GridPanel',
19             xns: Roo,
20             listeners : {
21                 activate : function() {
22                     _this.panel = this;
23                     if (_this.grid) {
24                         _this.grid.footer.onClick('first');
25                     }
26                     
27                 }
28             },
29             background : true,
30             fitContainer : true,
31             fitToframe : true,
32             region : 'center',
33             tableName : 'core_notify',
34             title : "Current Notifications",
35             grid : {
36                 xtype: 'Grid',
37                 xns: Roo.grid,
38                 listeners : {
39                     render : function() 
40                     {
41                         _this.grid = this; 
42                         //_this.dialog = Pman.Dialog.FILL_IN
43                         if (_this.panel.active) {
44                            this.footer.onClick('first');
45                         }
46                     },
47                     rowdblclick : function (_self, rowIndex, e)
48                     {
49                         if (!_this.dialog) return;
50                         _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {
51                             _this.grid.footer.onClick('first');
52                         }); 
53                     }
54                 },
55                 autoExpandColumn : 'person_id_name',
56                 loadMask : true,
57                 dataSource : {
58                     xtype: 'Store',
59                     xns: Roo.data,
60                     listeners : {
61                         beforeload : function (_self, options)
62                         {
63                             if (!_this.toggleBtn.pressed) {
64                                 options.params['event_id'] = 0;
65                             }
66                         }
67                     },
68                     remoteSort : true,
69                     sortInfo : { field : 'act_when', direction: 'DESC' },
70                     proxy : {
71                         xtype: 'HttpProxy',
72                         xns: Roo.data,
73                         method : 'GET',
74                         url : baseURL + '/Roo/core_notify.php'
75                     },
76                     reader : {
77                         xtype: 'JsonReader',
78                         xns: Roo.data,
79                         totalProperty : 'total',
80                         root : 'data',
81                         id : 'id',
82                         fields : [
83                             {
84                                 'name': 'id',
85                                 'type': 'int'
86                             },
87                             {
88                                 'name': 'act_when',
89                                 'type': 'date',
90                                 'dateFormat': 'Y-m-d'
91                             },
92                             {
93                                 'name': 'onid',
94                                 'type': 'int'
95                             },
96                             {
97                                 'name': 'ontable',
98                                 'type': 'string'
99                             },
100                             {
101                                 'name': 'person_id',
102                                 'type': 'int'
103                             },
104                             {
105                                 'name': 'msgid',
106                                 'type': 'string'
107                             },
108                             {
109                                 'name': 'sent',
110                                 'type': 'date',
111                                 'dateFormat': 'Y-m-d'
112                             },
113                             {
114                                 'name': 'event_id',
115                                 'type': 'int'
116                             },
117                             {
118                                 'name': 'person_id_id',
119                                 'type': 'int'
120                             },
121                             {
122                                 'name': 'person_id_office_id',
123                                 'type': 'int'
124                             },
125                             {
126                                 'name': 'person_id_name',
127                                 'type': 'string'
128                             },
129                             {
130                                 'name': 'person_id_phone',
131                                 'type': 'string'
132                             },
133                             {
134                                 'name': 'person_id_fax',
135                                 'type': 'string'
136                             },
137                             {
138                                 'name': 'person_id_email',
139                                 'type': 'string'
140                             },
141                             {
142                                 'name': 'person_id_company_id',
143                                 'type': 'int'
144                             },
145                             {
146                                 'name': 'person_id_role',
147                                 'type': 'string'
148                             },
149                             {
150                                 'name': 'person_id_active',
151                                 'type': 'int'
152                             },
153                             {
154                                 'name': 'person_id_remarks',
155                                 'type': 'string'
156                             },
157                             {
158                                 'name': 'person_id_passwd',
159                                 'type': 'string'
160                             },
161                             {
162                                 'name': 'person_id_owner_id',
163                                 'type': 'int'
164                             },
165                             {
166                                 'name': 'person_id_lang',
167                                 'type': 'string'
168                             },
169                             {
170                                 'name': 'person_id_no_reset_sent',
171                                 'type': 'int'
172                             },
173                             {
174                                 'name': 'person_id_action_type',
175                                 'type': 'string'
176                             },
177                             {
178                                 'name': 'person_id_project_id',
179                                 'type': 'int'
180                             },
181                             {
182                                 'name': 'person_id_deleted_by',
183                                 'type': 'int'
184                             },
185                             {
186                                 'name': 'person_id_deleted_dt',
187                                 'type': 'date'
188                             },
189                             {
190                                 'name': 'event_id_id',
191                                 'type': 'int'
192                             },
193                             {
194                                 'name': 'event_id_person_name',
195                                 'type': 'string'
196                             },
197                             {
198                                 'name': 'event_id_event_when',
199                                 'type': 'date'
200                             },
201                             {
202                                 'name': 'event_id_action',
203                                 'type': 'string'
204                             },
205                             {
206                                 'name': 'event_id_ipaddr',
207                                 'type': 'string'
208                             },
209                             {
210                                 'name': 'event_id_on_id',
211                                 'type': 'int'
212                             },
213                             {
214                                 'name': 'event_id_on_table',
215                                 'type': 'string'
216                             },
217                             {
218                                 'name': 'event_id_person_id',
219                                 'type': 'int'
220                             },
221                             {
222                                 'name': 'event_id_remarks',
223                                 'type': 'string'
224                             }
225                         ]
226                     }
227                 },
228                 footer : {
229                     xtype: 'PagingToolbar',
230                     xns: Roo,
231                     pageSize : 25,
232                     displayInfo : true,
233                     displayMsg : "Displaying core_notify{0} - {1} of {2}",
234                     emptyMsg : "No core_notify found"
235                 },
236                 toolbar : {
237                     xtype: 'Toolbar',
238                     xns: Roo,
239                     items : [
240                         {
241                             xtype: 'ComboBox',
242                             xns: Roo.form,
243                             allowBlank : true,
244                             displayField : 'person_id_name',
245                             editable : true,
246                             emptyText : "Select person",
247                             forceSelection : true,
248                             hiddenName : 'id',
249                             listWidth : 400,
250                             loadingText : "Searching...",
251                             minChars : 2,
252                             name : 'name',
253                             pageSize : 20,
254                             qtip : "Select core_notify",
255                             queryParam : 'query[person_id_name]',
256                             selectOnFocus : true,
257                             tpl : '<div class="x-grid-cell-text x-btn button"><b>{person_id_name}</b> {person_id_email}</div>',
258                             triggerAction : 'all',
259                             valueField : 'person_id',
260                             width : 300,
261                             store : {
262                                 xtype: 'Store',
263                                 xns: Roo.data,
264                                 listeners : {
265                                     beforeload : function (_self, o){
266                                         o.params = o.params || {};
267                                         o.params._distinct='person_id';
268                                         o.params._columns='person_id,person_id_name,person_id_email';
269                                         o.params['!person_id_name'] = '';
270                                         
271                                         // set more here
272                                     }
273                                 },
274                                 remoteSort : true,
275                                 sortInfo : { direction : 'ASC', field: 'person_id_name' },
276                                 proxy : {
277                                     xtype: 'HttpProxy',
278                                     xns: Roo.data,
279                                     method : 'GET',
280                                     url : baseURL + '/Roo/core_notify.php'
281                                 },
282                                 reader : {
283                                     xtype: 'JsonReader',
284                                     xns: Roo.data,
285                                     id : 'id',
286                                     root : 'data',
287                                     totalProperty : 'total',
288                                     fields : [{"name":"id","type":"int"},{"name":"ontable","type":"string"}]
289                                 }
290                             }
291                         },
292                         {
293                             xtype: 'Fill',
294                             xns: Roo.Toolbar
295                         },
296                         {
297                             xtype: 'Button',
298                             xns: Roo.Toolbar,
299                             listeners : {
300                                 click : function()
301                                         {
302                                         Pman.genericDelete(_this, 'core_notify'); 
303                                         }
304                             },
305                             cls : 'x-btn-text-icon',
306                             text : "Delete",
307                             icon : rootURL + '/Pman/templates/images/trash.gif'
308                         },
309                         {
310                             xtype: 'Button',
311                             xns: Roo.Toolbar,
312                             listeners : {
313                                 render : function (_self)
314                                 {
315                                     _this.toggleBtn = _self;
316                                 },
317                                 toggle : function (_self, pressed)
318                                 {
319                                     this.setText(pressed ? "Hide Completed" : "Show Completed");
320                                     _this.grid.footer.onClick('first');
321                                 }
322                             },
323                             enableToggle : true,
324                             text : "Show Completed"
325                         }
326                     ]
327                 },
328                 colModel : [
329                     {
330                         xtype: 'ColumnModel',
331                         xns: Roo.grid,
332                         dataIndex : 'id',
333                         header : 'id#',
334                         sortable : true,
335                         width : 50,
336                         renderer : function(v) { return String.format('{0}', v ); }
337                     },
338                     {
339                         xtype: 'ColumnModel',
340                         xns: Roo.grid,
341                         dataIndex : 'evtype',
342                         header : 'Method',
343                         sortable : true,
344                         width : 100,
345                         renderer : function(v) { return String.format('{0}', v ); }
346                     },
347                     {
348                         xtype: 'ColumnModel',
349                         xns: Roo.grid,
350                         dataIndex : 'act_when',
351                         header : 'Act when',
352                         sortable : true,
353                         width : 100,
354                         renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); }
355                     },
356                     {
357                         xtype: 'ColumnModel',
358                         xns: Roo.grid,
359                         dataIndex : 'sent',
360                         header : 'Sent',
361                         sortable : true,
362                         width : 100,
363                         renderer : function(v,x,r) {
364                             if (r.data.event_id *1 == 0) {
365                                 return '';
366                             }
367                              return String.format('{0}', v ? v.format('d/M/Y H:i:s') : '');
368                           }
369                     },
370                     {
371                         xtype: 'ColumnModel',
372                         xns: Roo.grid,
373                         dataIndex : 'ontable',
374                         header : 'Ontable',
375                         width : 100,
376                         renderer : function(v,x,r) { return String.format('{0}:{1}', v,r.data.onid); }
377                     },
378                     {
379                         xtype: 'ColumnModel',
380                         xns: Roo.grid,
381                         dataIndex : 'person_id_name',
382                         header : 'Who to notify',
383                         width : 100,
384                         renderer : function(v,x,r) {
385                              return String.format('{0} <u>&lt;{1}&gt;</u>', v, r.data.person_id_email); 
386                          }
387                     },
388                     {
389                         xtype: 'ColumnModel',
390                         xns: Roo.grid,
391                         dataIndex : 'trigger_event_id',
392                         header : 'Triggered by',
393                         width : 100,
394                         renderer : function(v,x,r) {
395                              return String.format(
396                                     '{0} : {1} {2}', 
397                                     r.data.trigger_event_id_on_table, 
398                                     r.data.trigger_event_id_on_id, 
399                                     r.data.trigger_event_id_remarks
400                                 ); 
401                          }
402                     },
403                     {
404                         xtype: 'ColumnModel',
405                         xns: Roo.grid,
406                         header : 'Msgid',
407                         width : 200,
408                         dataIndex : 'msgid',
409                         renderer : function(v) { return String.format('{0}', v); }
410                     },
411                     {
412                         xtype: 'ColumnModel',
413                         xns: Roo.grid,
414                         dataIndex : 'event_id_remarks',
415                         header : 'Event',
416                         width : 300,
417                         renderer : function(v) { return String.format('<span qtip="{0}">{0}</span>', v); }
418                     }
419                 ]
420             }
421         };
422     }
423 });