Pman.Tab.AdminLogEvents.bjs
[Pman.Admin] / Pman.Tab.AdminLogEvents.js
1 //<script type="text/javascript">
2
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
4
5 Roo.namespace('Pman.Tab');
6
7 Pman.Tab.AdminLogEvents = new Roo.XComponent({
8
9  _strings : {
10   '231bc72756b5e6de492aaaa1577f61b1' :"Remarks",
11   '2ea72778ebaacc973260c88837dd7a2f' :"Displaying Events  {0} - {1} of {2}",
12   '87f9f735a1d36793ceaecd4e47124b63' :"Events",
13   '1b7f7d24575cdbfadb83b9587fa1bf97' :"#id",
14   'a12a3079e14ced46e69ba52b8a90b21a' :"IP",
15   '1243daf593fa297e07ab03bf06d925af' :"Searching...",
16   '01bd6a16732dfa2b760dc8566c58afae' :"Download to Excel",
17   '498f79c4c5bbde77f1bceb6c86fd0f6d' :"Show",
18   '037fd50b0e85bb65995ca7125d06c7cd' :"Select Person Table",
19   'fd7535ce3979bb8547e2c01689db0767' :"Select Person ",
20   '679308a758de538c5f39c4c6cdba6593' :"Select Affects",
21   '8f7f93630c366dc55aec88eb8e9640d0' :"Staff",
22   'a8929eb5c1553d3f70497f862d25d0ce' :"Select Action",
23   '39b9e051f9fe75e65c7a330bb00499d4' :"Date Range",
24   '4e97aeeaa8b15ca1180fcd1f3ac478d1' :"When",
25   '004bf6c9a40003140292e97330236c53' :"Action",
26   '90e4ac2e5a22e53df63b6b186d8727ba' :"No Events found",
27   '2c92a9a6a5dbf570825e62eabcdecd8d' :"Affected"
28  },
29
30   part     :  ["Admin", "LogEvents" ],
31   order    : '001-Pman.Tab.AdminLogEvents',
32   region   : 'center',
33   parent   : 'Pman.Tab.AdminLogs',
34   name     : "Admin - Logs - Events",
35   disabled : false, 
36   permname : 'Admin.Logs', 
37   _tree : function()
38   {
39    var _this = this;
40    var MODULE = this;
41    return {
42    layout : {
43     center : {
44      '|xns' : 'Roo',
45      xns : Roo,
46      xtype : 'LayoutRegion'
47     },
48     south : {
49      '|xns' : 'Roo',
50      autoScroll : true,
51      height : 150,
52      split : true,
53      xns : Roo,
54      xtype : 'LayoutRegion'
55     },
56     '|xns' : 'Roo',
57     xns : Roo,
58     xtype : 'BorderLayout',
59     items : [
60      {
61       '|xns' : 'Roo',
62       fitToFrame : true,
63       region : 'south',
64       xns : Roo,
65       xtype : 'ContentPanel',
66       listeners : {
67        render : function (_self)
68         {
69           _this.viewPanel = _self;
70         }
71       }
72      },
73      {
74       grid : {
75        sm : {
76         '|xns' : 'Roo.grid',
77         singleSelect : true,
78         xns : Roo.grid,
79         xtype : 'RowSelectionModel',
80         listeners : {
81          afterselectionchange : function (_self)
82           {
83               // load detail log in _this.viewPanel;
84               if (!this.getSelected()) {
85                   this.viewPanel.setContent("Nothing Selected");
86                   return;
87               }
88               var id = this.getSelected().data.id;
89               _this.viewPanel.load( { url : baseURL + "/Admin/EventView/" + id + ".html" });
90               
91           }
92         }
93        },
94        dataSource : {
95         reader : {
96          '|xns' : 'Roo.data',
97          fields : [
98              {
99                  'name': 'id',
100                  'type': 'int'
101              },
102              {
103                  'name': 'person_name',
104                  'type': 'string'
105              },
106              {
107                  'name': 'event_when',
108                  'type': 'date',
109                  'dateFormat': 'Y-m-d'
110              },
111              {
112                  'name': 'action',
113                  'type': 'string'
114              },
115              {
116                  'name': 'ipaddr',
117                  'type': 'string'
118              },
119              {
120                  'name': 'on_id',
121                  'type': 'int'
122              },
123              {
124                  'name': 'on_table',
125                  'type': 'string'
126              },
127              {
128                  'name': 'person_id',
129                  'type': 'int'
130              },
131              {
132                  'name': 'remarks',
133                  'type': 'string'
134              },
135              {
136                  'name': 'person_id_id',
137                  'type': 'int'
138              },
139              {
140                  'name': 'person_id_office_id',
141                  'type': 'int'
142              },
143              {
144                  'name': 'person_id_name',
145                  'type': 'string'
146              },
147              {
148                  'name': 'person_id_phone',
149                  'type': 'string'
150              },
151              {
152                  'name': 'person_id_fax',
153                  'type': 'string'
154              },
155              {
156                  'name': 'person_id_email',
157                  'type': 'string'
158              },
159              {
160                  'name': 'person_id_company_id',
161                  'type': 'int'
162              },
163              {
164                  'name': 'person_id_role',
165                  'type': 'string'
166              },
167              {
168                  'name': 'person_id_active',
169                  'type': 'int'
170              },
171              {
172                  'name': 'person_id_remarks',
173                  'type': 'string'
174              },
175              {
176                  'name': 'person_id_passwd',
177                  'type': 'string'
178              },
179              {
180                  'name': 'person_id_owner_id',
181                  'type': 'int'
182              },
183              {
184                  'name': 'person_id_lang',
185                  'type': 'string'
186              },
187              {
188                  'name': 'person_id_no_reset_sent',
189                  'type': 'int'
190              },
191              {
192                  'name': 'person_id_action_type',
193                  'type': 'string'
194              },
195              {
196                  'name': 'person_id_project_id',
197                  'type': 'int'
198              },
199              {
200                  'name': 'person_id_deleted_by',
201                  'type': 'int'
202              },
203              {
204                  'name': 'person_id_deleted_dt',
205                  'type': 'date'
206              }
207          ],
208          id : 'id',
209          root : 'data',
210          totalProperty : 'total',
211          xns : Roo.data,
212          xtype : 'JsonReader'
213         },
214         proxy : {
215          '|xns' : 'Roo.data',
216          method : 'GET',
217          url : baseURL + '/Roo/Events.php',
218          xns : Roo.data,
219          xtype : 'HttpProxy'
220         },
221         '|xns' : 'Roo.data',
222         remoteSort : true,
223         sortInfo : { field: 'event_when', direction: 'DESC'},
224         xns : Roo.data,
225         xtype : 'Store',
226         listeners : {
227          beforeload : function (_self, o)
228           {
229               if (!Pman.buildCompleted) {
230                   return false;
231               }
232              
233              
234              if (! _this.personSel) {
235               return false;
236               }
237               o.params = o.params || {};
238               o.params.person_id = _this.personSel.getValue();
239               o.params.person_table = _this.tableSel.getValue();
240               var act = _this.actionSel.getValue();
241               if (act.length) {
242                   o.params.action = act;
243               }
244               var tbl = _this.affectSel.getValue();
245               if (tbl.length) {
246                   o.params.on_table = tbl;
247               }
248               act = _this.dateFrom.getValue();
249               if (act.format) {
250                   o.params['query[from]'] = act.format('Y-m-d');
251               }
252               act = _this.dateTo.getValue();
253               if (act.format) {
254                   o.params['query[to]'] = act.format('Y-m-d');
255               }
256            
257               
258               /*
259               act = _this.groupedCombo.getValue();
260               o.params['query[grouped]'] = act;
261               if (o.params['query[grouped]'] == 'gr') {
262               
263                   if (!tbl.length) {
264                       Roo.MessageBox.alert("Error", "Select a table to group results on");
265                       return false;
266                   }
267           //        o.params['_columns']  = 
268                   o.params['_distinct'] = 'on_id';
269                   
270                   
271               }
272               
273               */
274           
275               
276           }
277         },
278         items : [
279
280         ]
281
282        },
283        footer : {
284         '|xns' : 'Roo',
285         displayInfo : true,
286         displayMsg : _this._strings['2ea72778ebaacc973260c88837dd7a2f'],
287         emptyMsg : _this._strings['90e4ac2e5a22e53df63b6b186d8727ba'],
288         pageSize : 25,
289         xns : Roo,
290         xtype : 'PagingToolbar',
291         items : [
292          {
293           '|xns' : 'Roo.Toolbar',
294           text : _this._strings['01bd6a16732dfa2b760dc8566c58afae'],
295           xns : Roo.Toolbar,
296           xtype : 'Button',
297           listeners : {
298            click : function (_self, e)
299             {
300                 
301                 var params = {
302                     'sort' : 'event_when',
303                     'dir' : 'DESC',
304                     'start' : 0,
305                     'limit' : 900,
306                     person_id : _this.personSel.getValue(), 
307                     'csvTitles[0]' : 'When',   'csvCols[0]' : 'event_when', 
308                     'csvTitles[1]' : 'Staff',   'csvCols[1]' : 'person_id_name', 
309                     'csvTitles[2]' : 'Action',   'csvCols[2]' : 'action', 
310                     'csvTitles[3]' : 'Record ID',   'csvCols[3]' : 'on_id'       ,
311                     'csvTitles[4]' : 'Record Type',   'csvCols[4]' : 'on_table',
312                     'csvTitles[5]' : 'Remarks',   'csvCols[5]' : 'remarks'        
313                 }
314                     
315                 params.person_id = _this.personSel.getValue();
316                 var act = _this.actionSel.getValue();
317                 if (act.length) {
318                     params.action = act;
319                 }
320                 var tbl = _this.affectSel.getValue();
321                 if (tbl.length) {
322                     params.on_table = tbl;
323                 }
324                 act = _this.dateFrom.getValue();
325                 if (act.format) {
326                     params['query[from]'] = act.format('Y-m-d');
327                 }
328                 act = _this.dateTo.getValue();
329                 if (act.format) {
330                     params['query[to]'] = act.format('Y-m-d');
331                 }
332                 params.limit = 9999;
333                 
334             
335                 new Pman.download({
336                     url : baseURL + '/Roo/Events.php',
337                     params : params ,
338                     newWindow: true
339                     
340                 });
341             }
342           }
343          }
344         ]
345
346        },
347        toolbar : {
348         '|xns' : 'Roo',
349         xns : Roo,
350         xtype : 'Toolbar',
351         items : [
352          {
353           '|xns' : 'Roo.Toolbar',
354           text : _this._strings['498f79c4c5bbde77f1bceb6c86fd0f6d'],
355           xns : Roo.Toolbar,
356           xtype : 'TextItem'
357          },
358          {
359           store : {
360            '|xns' : 'Roo.data',
361            data : (function() { 
362            
363                if(typeof(uiConfig) == 'undefined' || typeof(uiConfig.events_person_table) == 'undefined' || !uiConfig.events_person_table.length){
364            
365                    return [];        
366                }
367            
368                return uiConfig.events_person_table;
369                
370            })(),
371            fields : [ 'value' ],
372            isLocal : true,
373            xns : Roo.data,
374            xtype : 'SimpleStore'
375           },
376           '|xns' : 'Roo.form',
377           actionMode : 'fieldEl',
378           allowBlank : true,
379           alwaysQuery : true,
380           displayField : 'value',
381           editable : false,
382           emptyText : _this._strings['037fd50b0e85bb65995ca7125d06c7cd'],
383           forceSelection : true,
384           listWidth : 300,
385           loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'],
386           minChars : 2,
387           name : 'person_table',
388           pageSize : 20,
389           qtip : _this._strings['037fd50b0e85bb65995ca7125d06c7cd'],
390           selectOnFocus : true,
391           tpl : '<div class=\"x-grid-cell-text x-btn button\"><b>{value}</b> </div>',
392           triggerAction : 'all',
393           typeAhead : true,
394           valueField : 'value',
395           width : 150,
396           xns : Roo.form,
397           xtype : 'ComboBox',
398           listeners : {
399            render : function (_self)
400             {
401                 _this.tableSel = _self;
402               
403                 this.el.setVisibilityMode(Roo.Element.DISPLAY);
404                 
405                 if(
406                     typeof(uiConfig) == 'undefined' || 
407                     typeof(uiConfig.events_person_table) == 'undefined' || 
408                     !uiConfig.events_person_table.length
409                 ){
410                     this.el.hide();
411                 }
412             },
413            select : function (combo, record, index)
414             {
415               _this.grid.footer.onClick('first');
416             }
417           },
418           items : [
419
420           ]
421
422          },
423          {
424           store : {
425            proxy : {
426             '|xns' : 'Roo.data',
427             method : 'GET',
428             url : baseURL + '/Roo/Person.php',
429             xns : Roo.data,
430             xtype : 'HttpProxy'
431            },
432            reader : {
433             '|xns' : 'Roo.data',
434             fields : [
435                 {
436                     'name': 'id',
437                     'type': 'int'
438                 },
439                 {
440                     'name': 'office_id',
441                     'type': 'int'
442                 },
443                 {
444                     'name': 'name',
445                     'type': 'string'
446                 },
447                 {
448                     'name': 'phone',
449                     'type': 'string'
450                 },
451                 {
452                     'name': 'fax',
453                     'type': 'string'
454                 },
455                 {
456                     'name': 'email',
457                     'type': 'string'
458                 },
459                 {
460                     'name': 'company_id',
461                     'type': 'int'
462                 },
463                 {
464                     'name': 'role',
465                     'type': 'string'
466                 },
467                 {
468                     'name': 'active',
469                     'type': 'int'
470                 },
471                 {
472                     'name': 'remarks',
473                     'type': 'string'
474                 },
475                 {
476                     'name': 'passwd',
477                     'type': 'string'
478                 },
479                 {
480                     'name': 'owner_id',
481                     'type': 'int'
482                 },
483                 {
484                     'name': 'lang',
485                     'type': 'string'
486                 },
487                 {
488                     'name': 'no_reset_sent',
489                     'type': 'int'
490                 },
491                 {
492                     'name': 'action_type',
493                     'type': 'string'
494                 },
495                 {
496                     'name': 'project_id',
497                     'type': 'int'
498                 },
499                 {
500                     'name': 'deleted_by',
501                     'type': 'int'
502                 },
503                 {
504                     'name': 'deleted_dt',
505                     'type': 'date',
506                     'dateFormat': 'Y-m-d'
507                 },
508                 {
509                     'name': 'office_id_id',
510                     'type': 'int'
511                 },
512                 {
513                     'name': 'office_id_company_id',
514                     'type': 'int'
515                 },
516                 {
517                     'name': 'office_id_name',
518                     'type': 'string'
519                 },
520                 {
521                     'name': 'office_id_address',
522                     'type': 'string'
523                 },
524                 {
525                     'name': 'office_id_phone',
526                     'type': 'string'
527                 },
528                 {
529                     'name': 'office_id_fax',
530                     'type': 'string'
531                 },
532                 {
533                     'name': 'office_id_email',
534                     'type': 'string'
535                 },
536                 {
537                     'name': 'office_id_role',
538                     'type': 'string'
539                 },
540                 {
541                     'name': 'company_id_code',
542                     'type': 'string'
543                 },
544                 {
545                     'name': 'company_id_name',
546                     'type': 'string'
547                 },
548                 {
549                     'name': 'company_id_remarks',
550                     'type': 'string'
551                 },
552                 {
553                     'name': 'company_id_owner_id',
554                     'type': 'int'
555                 },
556                 {
557                     'name': 'company_id_address',
558                     'type': 'string'
559                 },
560                 {
561                     'name': 'company_id_tel',
562                     'type': 'string'
563                 },
564                 {
565                     'name': 'company_id_fax',
566                     'type': 'string'
567                 },
568                 {
569                     'name': 'company_id_email',
570                     'type': 'string'
571                 },
572                 {
573                     'name': 'company_id_id',
574                     'type': 'int'
575                 },
576                 {
577                     'name': 'company_id_isOwner',
578                     'type': 'int'
579                 },
580                 {
581                     'name': 'company_id_logo_id',
582                     'type': 'int'
583                 },
584                 {
585                     'name': 'company_id_background_color',
586                     'type': 'string'
587                 },
588                 {
589                     'name': 'company_id_comptype',
590                     'type': 'string'
591                 },
592                 {
593                     'name': 'company_id_url',
594                     'type': 'string'
595                 },
596                 {
597                     'name': 'company_id_main_office_id',
598                     'type': 'int'
599                 },
600                 {
601                     'name': 'company_id_created_by',
602                     'type': 'int'
603                 },
604                 {
605                     'name': 'company_id_created_dt',
606                     'type': 'date'
607                 },
608                 {
609                     'name': 'company_id_updated_by',
610                     'type': 'int'
611                 },
612                 {
613                     'name': 'company_id_updated_dt',
614                     'type': 'date'
615                 },
616                 {
617                     'name': 'company_id_passwd',
618                     'type': 'string'
619                 },
620                 {
621                     'name': 'company_id_dispatch_port',
622                     'type': 'string'
623                 },
624                 {
625                     'name': 'company_id_province',
626                     'type': 'string'
627                 },
628                 {
629                     'name': 'company_id_country',
630                     'type': 'string'
631                 },
632                 {
633                     'name': 'project_id_id',
634                     'type': 'int'
635                 },
636                 {
637                     'name': 'project_id_name',
638                     'type': 'string'
639                 },
640                 {
641                     'name': 'project_id_remarks',
642                     'type': 'string'
643                 },
644                 {
645                     'name': 'project_id_owner_id',
646                     'type': 'int'
647                 },
648                 {
649                     'name': 'project_id_code',
650                     'type': 'string'
651                 },
652                 {
653                     'name': 'project_id_active',
654                     'type': 'int'
655                 },
656                 {
657                     'name': 'project_id_type',
658                     'type': 'string'
659                 },
660                 {
661                     'name': 'project_id_client_id',
662                     'type': 'int'
663                 },
664                 {
665                     'name': 'project_id_team_id',
666                     'type': 'int'
667                 },
668                 {
669                     'name': 'project_id_file_location',
670                     'type': 'string'
671                 },
672                 {
673                     'name': 'project_id_open_date',
674                     'type': 'date'
675                 },
676                 {
677                     'name': 'project_id_open_by',
678                     'type': 'int'
679                 },
680                 {
681                     'name': 'project_id_close_date',
682                     'type': 'date'
683                 },
684                 {
685                     'name': 'project_id_countries',
686                     'type': 'string'
687                 },
688                 {
689                     'name': 'project_id_languages',
690                     'type': 'string'
691                 },
692                 {
693                     'name': 'project_id_agency_id',
694                     'type': 'int'
695                 },
696                 {
697                     'name': 'owner_id_id',
698                     'type': 'int'
699                 },
700                 {
701                     'name': 'owner_id_office_id',
702                     'type': 'int'
703                 },
704                 {
705                     'name': 'owner_id_name',
706                     'type': 'string'
707                 },
708                 {
709                     'name': 'owner_id_phone',
710                     'type': 'string'
711                 },
712                 {
713                     'name': 'owner_id_fax',
714                     'type': 'string'
715                 },
716                 {
717                     'name': 'owner_id_email',
718                     'type': 'string'
719                 },
720                 {
721                     'name': 'owner_id_company_id',
722                     'type': 'int'
723                 },
724                 {
725                     'name': 'owner_id_role',
726                     'type': 'string'
727                 },
728                 {
729                     'name': 'owner_id_active',
730                     'type': 'int'
731                 },
732                 {
733                     'name': 'owner_id_remarks',
734                     'type': 'string'
735                 },
736                 {
737                     'name': 'owner_id_passwd',
738                     'type': 'string'
739                 },
740                 {
741                     'name': 'owner_id_owner_id',
742                     'type': 'int'
743                 },
744                 {
745                     'name': 'owner_id_lang',
746                     'type': 'string'
747                 },
748                 {
749                     'name': 'owner_id_no_reset_sent',
750                     'type': 'int'
751                 },
752                 {
753                     'name': 'owner_id_action_type',
754                     'type': 'string'
755                 },
756                 {
757                     'name': 'owner_id_project_id',
758                     'type': 'int'
759                 },
760                 {
761                     'name': 'owner_id_deleted_by',
762                     'type': 'int'
763                 },
764                 {
765                     'name': 'owner_id_deleted_dt',
766                     'type': 'date'
767                 }
768             ],
769             id : 'id',
770             root : 'data',
771             totalProperty : 'total',
772             xns : Roo.data,
773             xtype : 'JsonReader'
774            },
775            '|xns' : 'Roo.data',
776            remoteSort : true,
777            sortInfo : { field : 'name' , direction : 'ASC' },
778            xns : Roo.data,
779            xtype : 'Store',
780            listeners : {
781             beforeload : function (_self, o)
782              {
783                  o.params = o.params || {};
784                  o.params.company_id = Pman.Login.authUser.company_id;
785              }
786            },
787            items : [
788
789            ]
790
791           },
792           '|xns' : 'Roo.form',
793           allowBlank : true,
794           displayField : 'name',
795           editable : true,
796           emptyText : _this._strings['fd7535ce3979bb8547e2c01689db0767'],
797           fieldLabel : 'Person ',
798           forceSelection : true,
799           listWidth : 600,
800           loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'],
801           minChars : 2,
802           name : 'person_id_name',
803           pageSize : 20,
804           qtip : _this._strings['fd7535ce3979bb8547e2c01689db0767'],
805           queryParam : 'query[name]',
806           selectOnFocus : true,
807           tpl : '<div class=\"x-grid-cell-text x-btn button\"><b>{name}</b> ({company_id_name}) &lt;{email}&gt; </div>',
808           triggerAction : 'all',
809           typeAhead : true,
810           valueField : 'id',
811           width : 150,
812           xns : Roo.form,
813           xtype : 'ComboBox',
814           listeners : {
815            render : function (_self)
816             {
817               _this.personSel = _self;
818             },
819            select : function (combo, record, index)
820             {
821               _this.grid.footer.onClick('first');
822               
823             }
824           },
825           items : [
826
827           ]
828
829          },
830          {
831           store : {
832            proxy : {
833             '|xns' : 'Roo.data',
834             method : 'GET',
835             url : baseURL + '/Roo/Events.php',
836             xns : Roo.data,
837             xtype : 'HttpProxy'
838            },
839            reader : {
840             '|xns' : 'Roo.data',
841             fields : [
842                 {
843                     'name': 'id',
844                     'type': 'int'
845                 },
846                 {
847                     'name': 'person_name',
848                     'type': 'string'
849                 },
850                 {
851                     'name': 'event_when',
852                     'type': 'date',
853                     'dateFormat': 'Y-m-d'
854                 },
855                 {
856                     'name': 'action',
857                     'type': 'string'
858                 },
859                 {
860                     'name': 'ipaddr',
861                     'type': 'string'
862                 },
863                 {
864                     'name': 'on_id',
865                     'type': 'int'
866                 },
867                 {
868                     'name': 'on_table',
869                     'type': 'string'
870                 },
871                 {
872                     'name': 'person_id',
873                     'type': 'int'
874                 },
875                 {
876                     'name': 'remarks',
877                     'type': 'string'
878                 },
879                 {
880                     'name': 'person_id_id',
881                     'type': 'int'
882                 },
883                 {
884                     'name': 'person_id_office_id',
885                     'type': 'int'
886                 },
887                 {
888                     'name': 'person_id_name',
889                     'type': 'string'
890                 },
891                 {
892                     'name': 'person_id_phone',
893                     'type': 'string'
894                 },
895                 {
896                     'name': 'person_id_fax',
897                     'type': 'string'
898                 },
899                 {
900                     'name': 'person_id_email',
901                     'type': 'string'
902                 },
903                 {
904                     'name': 'person_id_company_id',
905                     'type': 'int'
906                 },
907                 {
908                     'name': 'person_id_role',
909                     'type': 'string'
910                 },
911                 {
912                     'name': 'person_id_active',
913                     'type': 'int'
914                 },
915                 {
916                     'name': 'person_id_remarks',
917                     'type': 'string'
918                 },
919                 {
920                     'name': 'person_id_passwd',
921                     'type': 'string'
922                 },
923                 {
924                     'name': 'person_id_owner_id',
925                     'type': 'int'
926                 },
927                 {
928                     'name': 'person_id_lang',
929                     'type': 'string'
930                 },
931                 {
932                     'name': 'person_id_no_reset_sent',
933                     'type': 'int'
934                 },
935                 {
936                     'name': 'person_id_action_type',
937                     'type': 'string'
938                 },
939                 {
940                     'name': 'person_id_project_id',
941                     'type': 'int'
942                 },
943                 {
944                     'name': 'person_id_deleted_by',
945                     'type': 'int'
946                 },
947                 {
948                     'name': 'person_id_deleted_dt',
949                     'type': 'date'
950                 }
951             ],
952             id : 'id',
953             root : 'data',
954             totalProperty : 'total',
955             xns : Roo.data,
956             xtype : 'JsonReader'
957            },
958            '|xns' : 'Roo.data',
959            remoteSort : true,
960            sortInfo : { field : 'action' , direction : 'ASC' },
961            xns : Roo.data,
962            xtype : 'Store',
963            listeners : {
964             beforeload : function (_self, o)
965              {
966                  o.params = o.params || {};
967                  // staff can see all logs, other companies can only see their own.
968                  if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
969                      o.params.company_id = Pman.Login.authUser.company_id;
970                  }
971                  o.params._distinct = 'action';
972                  o.params._columns ='action';
973              }
974            },
975            items : [
976
977            ]
978
979           },
980           '|xns' : 'Roo.form',
981           allowBlank : true,
982           displayField : 'action',
983           editable : true,
984           emptyText : _this._strings['a8929eb5c1553d3f70497f862d25d0ce'],
985           forceSelection : true,
986           listWidth : 300,
987           loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'],
988           minChars : 2,
989           name : 'action',
990           pageSize : 20,
991           qtip : _this._strings['a8929eb5c1553d3f70497f862d25d0ce'],
992           queryParam : 'query[action]',
993           selectOnFocus : true,
994           tpl : '<div class=\"x-grid-cell-text x-btn button\"><b>{action}</b> </div>',
995           triggerAction : 'all',
996           typeAhead : true,
997           valueField : 'action',
998           width : 150,
999           xns : Roo.form,
1000           xtype : 'ComboBox',
1001           listeners : {
1002            render : function (_self)
1003             {
1004               _this.actionSel = _self;
1005             },
1006            select : function (combo, record, index)
1007             {
1008               _this.grid.footer.onClick('first');
1009             }
1010           },
1011           items : [
1012
1013           ]
1014
1015          },
1016          {
1017           store : {
1018            proxy : {
1019             '|xns' : 'Roo.data',
1020             method : 'GET',
1021             url : baseURL + '/Roo/Events.php',
1022             xns : Roo.data,
1023             xtype : 'HttpProxy'
1024            },
1025            reader : {
1026             '|xns' : 'Roo.data',
1027             fields : [
1028                 {
1029                     'name': 'id',
1030                     'type': 'int'
1031                 },
1032                 {
1033                     'name': 'person_name',
1034                     'type': 'string'
1035                 },
1036                 {
1037                     'name': 'event_when',
1038                     'type': 'date',
1039                     'dateFormat': 'Y-m-d'
1040                 },
1041                 {
1042                     'name': 'action',
1043                     'type': 'string'
1044                 },
1045                 {
1046                     'name': 'ipaddr',
1047                     'type': 'string'
1048                 },
1049                 {
1050                     'name': 'on_id',
1051                     'type': 'int'
1052                 },
1053                 {
1054                     'name': 'on_table',
1055                     'type': 'string'
1056                 },
1057                 {
1058                     'name': 'person_id',
1059                     'type': 'int'
1060                 },
1061                 {
1062                     'name': 'remarks',
1063                     'type': 'string'
1064                 },
1065                 {
1066                     'name': 'person_id_id',
1067                     'type': 'int'
1068                 },
1069                 {
1070                     'name': 'person_id_office_id',
1071                     'type': 'int'
1072                 },
1073                 {
1074                     'name': 'person_id_name',
1075                     'type': 'string'
1076                 },
1077                 {
1078                     'name': 'person_id_phone',
1079                     'type': 'string'
1080                 },
1081                 {
1082                     'name': 'person_id_fax',
1083                     'type': 'string'
1084                 },
1085                 {
1086                     'name': 'person_id_email',
1087                     'type': 'string'
1088                 },
1089                 {
1090                     'name': 'person_id_company_id',
1091                     'type': 'int'
1092                 },
1093                 {
1094                     'name': 'person_id_role',
1095                     'type': 'string'
1096                 },
1097                 {
1098                     'name': 'person_id_active',
1099                     'type': 'int'
1100                 },
1101                 {
1102                     'name': 'person_id_remarks',
1103                     'type': 'string'
1104                 },
1105                 {
1106                     'name': 'person_id_passwd',
1107                     'type': 'string'
1108                 },
1109                 {
1110                     'name': 'person_id_owner_id',
1111                     'type': 'int'
1112                 },
1113                 {
1114                     'name': 'person_id_lang',
1115                     'type': 'string'
1116                 },
1117                 {
1118                     'name': 'person_id_no_reset_sent',
1119                     'type': 'int'
1120                 },
1121                 {
1122                     'name': 'person_id_action_type',
1123                     'type': 'string'
1124                 },
1125                 {
1126                     'name': 'person_id_project_id',
1127                     'type': 'int'
1128                 },
1129                 {
1130                     'name': 'person_id_deleted_by',
1131                     'type': 'int'
1132                 },
1133                 {
1134                     'name': 'person_id_deleted_dt',
1135                     'type': 'date'
1136                 }
1137             ],
1138             id : 'id',
1139             root : 'data',
1140             totalProperty : 'total',
1141             xns : Roo.data,
1142             xtype : 'JsonReader'
1143            },
1144            '|xns' : 'Roo.data',
1145            remoteSort : true,
1146            sortInfo : { field : 'on_table' , direction : 'ASC' },
1147            xns : Roo.data,
1148            xtype : 'Store',
1149            listeners : {
1150             beforeload : function (_self, o)
1151              {
1152                  o.params = o.params || {};
1153                  // staff can see all logs, other companies can only see their own.
1154                  if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
1155                      o.params.company_id = Pman.Login.authUser.company_id;
1156                  }
1157                  o.params._distinct = 'on_table';
1158                  o.params._columns ='on_table';
1159              }
1160            },
1161            items : [
1162
1163            ]
1164
1165           },
1166           '|xns' : 'Roo.form',
1167           allowBlank : true,
1168           displayField : 'on_table',
1169           editable : true,
1170           emptyText : _this._strings['679308a758de538c5f39c4c6cdba6593'],
1171           forceSelection : true,
1172           listWidth : 300,
1173           loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'],
1174           minChars : 2,
1175           name : 'on_table',
1176           pageSize : 20,
1177           qtip : _this._strings['a8929eb5c1553d3f70497f862d25d0ce'],
1178           queryParam : 'query[on_table]',
1179           selectOnFocus : true,
1180           tpl : '<div class=\"x-grid-cell-text x-btn button\"><b>{on_table}</b> </div>',
1181           triggerAction : 'all',
1182           typeAhead : true,
1183           valueField : 'action',
1184           width : 150,
1185           xns : Roo.form,
1186           xtype : 'ComboBox',
1187           listeners : {
1188            render : function (_self)
1189             {
1190               _this.affectSel = _self;
1191             },
1192            select : function (combo, record, index)
1193             {
1194               _this.grid.footer.onClick('first');
1195             }
1196           },
1197           items : [
1198
1199           ]
1200
1201          },
1202          {
1203           '|xns' : 'Roo.Toolbar',
1204           text : _this._strings['39b9e051f9fe75e65c7a330bb00499d4'],
1205           xns : Roo.Toolbar,
1206           xtype : 'TextItem'
1207          },
1208          {
1209           '|xns' : 'Roo.form',
1210           format : 'Y-m-d',
1211           xns : Roo.form,
1212           xtype : 'DateField',
1213           listeners : {
1214            change : function (_self, newValue, oldValue)
1215             {
1216               _this.grid.footer.onClick('first');
1217             },
1218            render : function (_self)
1219             {
1220               _this.dateFrom = _self;
1221             }
1222           }
1223          },
1224          {
1225           '|xns' : 'Roo.form',
1226           format : 'Y-m-d',
1227           xns : Roo.form,
1228           xtype : 'DateField',
1229           listeners : {
1230            change : function (_self, newValue, oldValue)
1231             {
1232               _this.grid.footer.onClick('first');
1233             },
1234            render : function (_self)
1235             {
1236               _this.dateTo = _self;
1237             }
1238           }
1239          }
1240         ]
1241
1242        },
1243        '|xns' : 'Roo.grid',
1244        autoExpandColumn : 'remarks',
1245        loadMask : true,
1246        xns : Roo.grid,
1247        xtype : 'Grid',
1248        colModel : [
1249          {
1250           '|xns' : 'Roo.grid',
1251           dataIndex : 'event_when',
1252           header : _this._strings['4e97aeeaa8b15ca1180fcd1f3ac478d1'],
1253           renderer : function(v) { return v ? v.dateFormat('d/m/Y H:i') : ''; },
1254           width : 100,
1255           xns : Roo.grid,
1256           xtype : 'ColumnModel'
1257          },
1258 {
1259           '|xns' : 'Roo.grid',
1260           dataIndex : 'id',
1261           header : _this._strings['1b7f7d24575cdbfadb83b9587fa1bf97'],
1262           width : 100,
1263           xns : Roo.grid,
1264           xtype : 'ColumnModel'
1265          },
1266 {
1267           '|xns' : 'Roo.grid',
1268           dataIndex : 'person_id_name',
1269           header : _this._strings['8f7f93630c366dc55aec88eb8e9640d0'],
1270           renderer : function(v,x,r) { 
1271               
1272               var efield = typeof(_this.email_field) == 'undefined' ? 'person_id_email' : _this.email_field;
1273               var nfield = typeof(_this.name_field) == 'undefined' ? 'person_id_name' : _this.name_field;    
1274               
1275               //Roo.log([r, efield, nfield]);
1276               
1277               var email = r.json[efield]; // ? r.data.person_id_email : r.data.person_id_email;
1278               var name  = r.json[nfield]; // ? r.data.person_id_name : r.data.person_id_name;    
1279               return String.format('{0} &lt;<a href="mailto:{1}">{1}</a>&gt;', 
1280                   name, email); 
1281           
1282           
1283           },
1284           width : 150,
1285           xns : Roo.grid,
1286           xtype : 'ColumnModel'
1287          },
1288 {
1289           '|xns' : 'Roo.grid',
1290           dataIndex : 'action',
1291           header : _this._strings['004bf6c9a40003140292e97330236c53'],
1292           renderer : function(v) { return String.format('{0}', v); },
1293           width : 100,
1294           xns : Roo.grid,
1295           xtype : 'ColumnModel'
1296          },
1297 {
1298           '|xns' : 'Roo.grid',
1299           dataIndex : 'ipaddr',
1300           header : _this._strings['a12a3079e14ced46e69ba52b8a90b21a'],
1301           renderer : function(v) { return String.format('{0}', v); },
1302           width : 100,
1303           xns : Roo.grid,
1304           xtype : 'ColumnModel'
1305          },
1306 {
1307           '|xns' : 'Roo.grid',
1308           dataIndex : 'on_table',
1309           header : _this._strings['2c92a9a6a5dbf570825e62eabcdecd8d'],
1310           renderer : function(v, x, r) {                     
1311                       return v ? String.format('{0}({1})', v,  r.data.on_id)  : '';  
1312              },
1313           width : 100,
1314           xns : Roo.grid,
1315           xtype : 'ColumnModel'
1316          },
1317 {
1318           '|xns' : 'Roo.grid',
1319           dataIndex : 'remarks',
1320           header : _this._strings['231bc72756b5e6de492aaaa1577f61b1'],
1321           renderer : function(v) { return String.format('<span qtip="{1}">{0}</span>', v, Roo.util.Format.htmlEncode(v)); },
1322           width : 300,
1323           xns : Roo.grid,
1324           xtype : 'ColumnModel'
1325          }
1326        ],
1327        listeners : {
1328         render : function() { 
1329              _this.grid = this; 
1330              //_this.dialog = Pman.Dialog.FILL_IN
1331              if (_this.panel.active) {
1332                 this.footer.onClick('first');
1333              }
1334          }
1335        },
1336        items : [
1337
1338        ]
1339
1340       },
1341       '|xns' : 'Roo',
1342       background : false,
1343       fitContainer : true,
1344       fitToframe : true,
1345       region : 'center',
1346       tableName : 'Events',
1347       title : _this._strings['87f9f735a1d36793ceaecd4e47124b63'],
1348       xns : Roo,
1349       xtype : 'GridPanel',
1350       listeners : {
1351        activate : function() {
1352             _this.panel = this;
1353             if (_this.grid) {
1354                 _this.grid.footer.onClick('first');
1355             }
1356         }
1357       },
1358       items : [
1359
1360       ]
1361
1362      }
1363     ]
1364
1365    },
1366    '|xns' : 'Roo',
1367    region : 'center',
1368    title : _this._strings['87f9f735a1d36793ceaecd4e47124b63'],
1369    xns : Roo,
1370    xtype : 'NestedLayoutPanel',
1371    items : [
1372
1373    ]
1374
1375   };  }
1376 });