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                             listeners : {
244                                 select : function (combo, record, index)
245                                 {
246                                    (function() { _this.grid.footer.onClick('first'); }).defer(100);
247                                 }
248                             },
249                             allowBlank : true,
250                             displayField : 'person_id_name',
251                             editable : true,
252                             emptyText : "Select person",
253                             forceSelection : true,
254                             hiddenName : 'id',
255                             listWidth : 400,
256                             loadingText : "Searching...",
257                             minChars : 2,
258                             name : 'name',
259                             pageSize : 20,
260                             qtip : "Select core_notify",
261                             queryParam : 'query[person_id_name]',
262                             selectOnFocus : true,
263                             tpl : '<div class="x-grid-cell-text x-btn button"><b>{person_id_name}</b> {person_id_email}</div>',
264                             triggerAction : 'all',
265                             valueField : 'person_id',
266                             width : 300,
267                             store : {
268                                 xtype: 'Store',
269                                 xns: Roo.data,
270                                 listeners : {
271                                     beforeload : function (_self, o){
272                                         o.params = o.params || {};
273                                         o.params._distinct='person_id';
274                                         o.params._columns='person_id,person_id_name,person_id_email';
275                                         o.params['!person_id_name'] = '';
276                                         
277                                         // set more here
278                                     }
279                                 },
280                                 remoteSort : true,
281                                 sortInfo : { direction : 'ASC', field: 'person_id_name' },
282                                 proxy : {
283                                     xtype: 'HttpProxy',
284                                     xns: Roo.data,
285                                     method : 'GET',
286                                     url : baseURL + '/Roo/core_notify.php'
287                                 },
288                                 reader : {
289                                     xtype: 'JsonReader',
290                                     xns: Roo.data,
291                                     id : 'id',
292                                     root : 'data',
293                                     totalProperty : 'total',
294                                     fields : [{"name":"id","type":"int"},{"name":"ontable","type":"string"}]
295                                 }
296                             }
297                         },
298                         {
299                             xtype: 'Fill',
300                             xns: Roo.Toolbar
301                         },
302                         {
303                             xtype: 'Button',
304                             xns: Roo.Toolbar,
305                             listeners : {
306                                 click : function()
307                                         {
308                                         Pman.genericDelete(_this, 'core_notify'); 
309                                         }
310                             },
311                             cls : 'x-btn-text-icon',
312                             text : "Delete",
313                             icon : rootURL + '/Pman/templates/images/trash.gif'
314                         },
315                         {
316                             xtype: 'Button',
317                             xns: Roo.Toolbar,
318                             listeners : {
319                                 render : function (_self)
320                                 {
321                                     _this.toggleBtn = _self;
322                                 },
323                                 toggle : function (_self, pressed)
324                                 {
325                                     this.setText(pressed ? "Hide Completed" : "Show Completed");
326                                     _this.grid.footer.onClick('first');
327                                 }
328                             },
329                             enableToggle : true,
330                             text : "Show Completed"
331                         }
332                     ]
333                 },
334                 colModel : [
335                     {
336                         xtype: 'ColumnModel',
337                         xns: Roo.grid,
338                         dataIndex : 'id',
339                         header : 'id#',
340                         sortable : true,
341                         width : 50,
342                         renderer : function(v) { return String.format('{0}', v ); }
343                     },
344                     {
345                         xtype: 'ColumnModel',
346                         xns: Roo.grid,
347                         dataIndex : 'evtype',
348                         header : 'Method',
349                         sortable : true,
350                         width : 100,
351                         renderer : function(v) { return String.format('{0}', v ); }
352                     },
353                     {
354                         xtype: 'ColumnModel',
355                         xns: Roo.grid,
356                         dataIndex : 'act_when',
357                         header : 'Act when',
358                         sortable : true,
359                         width : 100,
360                         renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); }
361                     },
362                     {
363                         xtype: 'ColumnModel',
364                         xns: Roo.grid,
365                         dataIndex : 'sent',
366                         header : 'Sent',
367                         sortable : true,
368                         width : 100,
369                         renderer : function(v,x,r) {
370                             if (r.data.event_id *1 == 0) {
371                                 return '';
372                             }
373                              return String.format('{0}', v ? v.format('d/M/Y H:i:s') : '');
374                           }
375                     },
376                     {
377                         xtype: 'ColumnModel',
378                         xns: Roo.grid,
379                         dataIndex : 'ontable',
380                         header : 'Ontable',
381                         width : 100,
382                         renderer : function(v,x,r) { return String.format('{0}:{1}', v,r.data.onid); }
383                     },
384                     {
385                         xtype: 'ColumnModel',
386                         xns: Roo.grid,
387                         dataIndex : 'person_id_name',
388                         header : 'Who to notify',
389                         width : 100,
390                         renderer : function(v,x,r) {
391                              return String.format('{0} <u>&lt;{1}&gt;</u>', v, r.data.person_id_email); 
392                          }
393                     },
394                     {
395                         xtype: 'ColumnModel',
396                         xns: Roo.grid,
397                         dataIndex : 'trigger_event_id',
398                         header : 'Triggered by',
399                         width : 100,
400                         renderer : function(v,x,r) {
401                              return String.format(
402                                     '{0} : {1} {2}', 
403                                     r.data.trigger_event_id_on_table, 
404                                     r.data.trigger_event_id_on_id, 
405                                     r.data.trigger_event_id_remarks
406                                 ); 
407                          }
408                     },
409                     {
410                         xtype: 'ColumnModel',
411                         xns: Roo.grid,
412                         header : 'Msgid',
413                         width : 200,
414                         dataIndex : 'msgid',
415                         renderer : function(v) { return String.format('{0}', v); }
416                     },
417                     {
418                         xtype: 'ColumnModel',
419                         xns: Roo.grid,
420                         dataIndex : 'event_id_remarks',
421                         header : 'Event',
422                         width : 300,
423                         renderer : function(v) { return String.format('<span qtip="{0}">{0}</span>', v); }
424                     }
425                 ]
426             }
427         };
428     }
429 });