1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
7 // register the module first
8 Pman.on('beforeload', function()
11 part : ["Admin","LogDrill"],
12 modKey : '003-Pman.Tab.AdminLogDrill',
13 module : Pman.Tab.AdminLogDrill,
15 parent : Pman.Tab.AdminLogs,
16 name : "Pman.Tab.AdminLogDrill",
22 Pman.Tab.AdminLogDrill = new Roo.util.Observable({
28 add : function(parentLayout, region)
32 this.parentLayout = parentLayout;
34 this.panel = parentLayout.addxtype({
35 xtype: 'NestedLayoutPanel',
39 title : "Event Drilldown",
41 xtype: 'BorderLayout',
48 activate : function() {
49 _this.datepanel = this;
51 _this.dategrid.ds.load({});
67 _this.dategrid = this;
68 //_this.dialog = Pman.Dialog.FILL_IN
69 if (_this.panel.active) {
73 rowclick : function (_self, rowIndex, e)
75 _this.tablegrid.footer.onClick('first');
78 autoExpandColumn : 'person_name',
84 beforeload : function (_self, o)
88 if (! _this.dateFrom) {
93 _this.tablegrid.ds.removeAll();
94 _this.panel.layout.getRegion('east').getActivePanel().grid.ds.removeAll();
99 o.params = o.params || {};
101 var act = _this.actionSel ? _this.actionSel.getValue() : '';
103 o.params.action = act;
105 var tbl = _this.affectSel ? _this.affectSel.getValue() : '';
107 o.params.on_table = tbl;
109 act = _this.dateFrom.getValue();
111 o.params['query[from]'] = act.format('Y-m-d');
113 act = _this.dateTo.getValue();
115 o.params['query[to]'] = act.format('Y-m-d');
120 o.params['query[person_sum]'] = 1;
121 o.params._columns = 'person_id,person_id_name,person_id_email,qty,uqty';
122 o.params.limit = 999;
127 sortInfo : { field : 'person_name', direction: 'ASC' },
132 url : baseURL + '/Roo/Events.php'
137 totalProperty : 'total',
146 'name': 'person_name',
150 'name': 'event_when',
152 'dateFormat': 'Y-m-d'
179 'name': 'person_id_id',
183 'name': 'person_id_office_id',
187 'name': 'person_id_name',
191 'name': 'person_id_phone',
195 'name': 'person_id_fax',
199 'name': 'person_id_email',
203 'name': 'person_id_company_id',
207 'name': 'person_id_role',
211 'name': 'person_id_active',
215 'name': 'person_id_remarks',
219 'name': 'person_id_passwd',
223 'name': 'person_id_owner_id',
227 'name': 'person_id_lang',
231 'name': 'person_id_no_reset_sent',
235 'name': 'person_id_action_type',
239 'name': 'person_id_project_id',
243 'name': 'person_id_deleted_by',
247 'name': 'person_id_deleted_dt',
266 render : function (_self)
268 _this.dateFrom = _self;
270 change : function (_self, newValue, oldValue)
272 _this.dategrid.ds.load({});
276 value : (function() { var d = new Date(); return d.format('Y-m-01'); })()
282 render : function (_self)
284 _this.dateTo = _self;
286 change : function (_self, newValue, oldValue)
288 _this.dategrid.ds.load({});
292 value : (function() { var d = new Date();d = d.add(Date.MONTH, 1) ; return d.format('Y-m-01'); })()
298 xtype: 'ColumnModel',
300 dataIndex : 'person_id_name',
301 header : 'Person name',
304 renderer : function(v,x,r) {
305 return String.format('{0} <<a href="mailto:{1}">{1}</a>>', v, r.data.person_id_email);
309 xtype: 'ColumnModel',
312 header : '#Affected',
315 renderer : function(v) { return String.format('{0}', v); }
318 xtype: 'ColumnModel',
324 renderer : function(v) { return String.format('{0}', v); }
333 activate : function() {
334 _this.tablepanel = this;
335 if (_this.tablegrid) {
336 _this.tablegrid.footer.onClick('first');
344 tableName : 'Events',
352 _this.tablegrid = this;
353 //_this.dialog = Pman.Dialog.FILL_IN
354 if (_this.tablepanel.active) {
355 this.footer.onClick('first');
358 rowclick : function (_self, rowIndex, e)
361 _this.panel.layout.getRegion('east').getActivePanel().grid.footer.onClick('first');
364 autoExpandColumn : 'person_name',
370 beforeload : function (_self, o)
372 if (! _this.dategrid) {
376 _this.panel.layout.getRegion('east').getActivePanel().grid.ds.removeAll();
382 var s = _this.dategrid.selModel.getSelected();
384 _this.tablegrid.view.el.mask("Select a person");
387 _this.tablegrid.view.el.unmask();
389 o.params = o.params || {};
390 var act = _this.actionSel.getValue();
392 o.params.action = act;
394 var tbl = _this.affectSel.getValue();
396 o.params.on_table = tbl;
399 act = _this.dateFrom.getValue();
401 o.params['query[from]'] = act.format('Y-m-d');
403 act = _this.dateTo.getValue();
405 o.params['query[to]'] = act.format('Y-m-d');
407 o.params.person_id = s.data.person_id;
408 o.params['query[table_sum]'] = 1;
409 o.params._columns = 'on_table,qty,uqty';
415 sortInfo : { field : 'on_table', direction: 'ASC' },
420 url : baseURL + '/Roo/Events.php'
425 totalProperty : 'total',
434 'name': 'person_name',
438 'name': 'event_when',
440 'dateFormat': 'Y-m-d'
467 'name': 'person_id_id',
471 'name': 'person_id_office_id',
475 'name': 'person_id_name',
479 'name': 'person_id_phone',
483 'name': 'person_id_fax',
487 'name': 'person_id_email',
491 'name': 'person_id_company_id',
495 'name': 'person_id_role',
499 'name': 'person_id_active',
503 'name': 'person_id_remarks',
507 'name': 'person_id_passwd',
511 'name': 'person_id_owner_id',
515 'name': 'person_id_lang',
519 'name': 'person_id_no_reset_sent',
523 'name': 'person_id_action_type',
527 'name': 'person_id_project_id',
531 'name': 'person_id_deleted_by',
535 'name': 'person_id_deleted_dt',
542 xtype: 'PagingToolbar',
546 displayMsg : "Displaying Events{0} - {1} of {2}",
547 emptyMsg : "No Events found"
557 select : function (combo, record, index)
559 _this.dategrid.ds.load({});
561 render : function (_self)
563 _this.actionSel = _self;
567 displayField : 'action',
569 emptyText : "Select Action",
570 forceSelection : true,
572 loadingText : "Searching...",
576 qtip : "Select Action",
577 queryParam : 'query[action]',
578 selectOnFocus : true,
579 tpl : '<div class="x-grid-cell-text x-btn button"><b>{action}</b> </div>',
580 triggerAction : 'all',
582 valueField : 'action',
588 beforeload : function (_self, o)
590 o.params = o.params || {};
591 // staff can see all logs, other companies can only see their own.
592 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
593 o.params.company_id = Pman.Login.authUser.company_id;
595 o.params._distinct = 'action';
596 o.params._columns ='action';
600 sortInfo : { field : 'action' , direction : 'ASC' },
605 url : baseURL + '/Roo/Events.php'
610 totalProperty : 'total',
619 'name': 'person_name',
623 'name': 'event_when',
625 'dateFormat': 'Y-m-d'
652 'name': 'person_id_id',
656 'name': 'person_id_office_id',
660 'name': 'person_id_name',
664 'name': 'person_id_phone',
668 'name': 'person_id_fax',
672 'name': 'person_id_email',
676 'name': 'person_id_company_id',
680 'name': 'person_id_role',
684 'name': 'person_id_active',
688 'name': 'person_id_remarks',
692 'name': 'person_id_passwd',
696 'name': 'person_id_owner_id',
700 'name': 'person_id_lang',
704 'name': 'person_id_no_reset_sent',
708 'name': 'person_id_action_type',
712 'name': 'person_id_project_id',
716 'name': 'person_id_deleted_by',
720 'name': 'person_id_deleted_dt',
731 select : function (combo, record, index)
733 _this.dategrid.ds.load({});
735 render : function (_self)
737 _this.affectSel = _self;
741 displayField : 'on_table',
743 emptyText : "Select Affects",
744 forceSelection : true,
746 loadingText : "Searching...",
750 qtip : "Select Action",
751 queryParam : 'query[on_table]',
752 selectOnFocus : true,
753 tpl : '<div class="x-grid-cell-text x-btn button"><b>{on_table}</b> </div>',
754 triggerAction : 'all',
756 valueField : 'action',
762 beforeload : function (_self, o)
764 o.params = o.params || {};
765 // staff can see all logs, other companies can only see their own.
766 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
767 o.params.company_id = Pman.Login.authUser.company_id;
769 o.params._distinct = 'on_table';
770 o.params._columns ='on_table';
774 sortInfo : { field : 'on_table' , direction : 'ASC' },
779 url : baseURL + '/Roo/Events.php'
784 totalProperty : 'total',
793 'name': 'person_name',
797 'name': 'event_when',
799 'dateFormat': 'Y-m-d'
826 'name': 'person_id_id',
830 'name': 'person_id_office_id',
834 'name': 'person_id_name',
838 'name': 'person_id_phone',
842 'name': 'person_id_fax',
846 'name': 'person_id_email',
850 'name': 'person_id_company_id',
854 'name': 'person_id_role',
858 'name': 'person_id_active',
862 'name': 'person_id_remarks',
866 'name': 'person_id_passwd',
870 'name': 'person_id_owner_id',
874 'name': 'person_id_lang',
878 'name': 'person_id_no_reset_sent',
882 'name': 'person_id_action_type',
886 'name': 'person_id_project_id',
890 'name': 'person_id_deleted_by',
894 'name': 'person_id_deleted_dt',
905 xtype: 'ColumnModel',
907 dataIndex : 'on_table',
911 renderer : function(v) {
913 return "Login / Logout / Errors";
915 return String.format('{0}', v);
919 xtype: 'ColumnModel',
922 header : '#Affected',
925 renderer : function(v) { return String.format('{0}', v); }
928 xtype: 'ColumnModel',
934 renderer : function(v) { return String.format('{0}', v); }
943 activate : function() {
944 _this.detailpanel = this;
945 if (_this.detailgrid) {
946 _this.detailgrid.footer.onClick('first');
954 tableName : 'Events',
962 _this.detailgrid = this;
963 //_this.dialog = Pman.Dialog.FILL_IN
964 if (_this.detailpanel.active) {
965 this.footer.onClick('first');
969 autoExpandColumn : 'person_name',
975 beforeload : function (_self, o)
977 if (! _this.dategrid) {
981 o.params = o.params || {};
983 var s = _this.dategrid.selModel.getSelected();
985 _this.detailgrid.view.el.mask("Select a person");
989 o.params.person_id = s.data.person_id;
991 var s = _this.tablegrid.selModel.getSelected();
993 _this.detailgrid.view.el.mask("Select a table");
996 o.params.on_table = s.data.on_table;
998 _this.detailgrid.view.el.unmask();
1000 var act = _this.actionSel.getValue();
1002 o.params.action = act;
1004 var tbl = _this.affectSel.getValue();
1006 o.params.on_table = tbl;
1010 act = _this.dateFrom.getValue();
1012 o.params['query[from]'] = act.format('Y-m-d');
1014 act = _this.dateTo.getValue();
1016 o.params['query[to]'] = act.format('Y-m-d');
1019 //o.params['query[table_d]'] = 1;
1020 //o.params._columns = 'on_table,qty,uqty';
1026 sortInfo : { field : 'event_when', direction: 'DESC' },
1031 url : baseURL + '/Roo/Events.php'
1034 xtype: 'JsonReader',
1036 totalProperty : 'total',
1045 'name': 'person_name',
1049 'name': 'event_when',
1051 'dateFormat': 'Y-m-d'
1070 'name': 'person_id',
1078 'name': 'person_id_id',
1082 'name': 'person_id_office_id',
1086 'name': 'person_id_name',
1090 'name': 'person_id_phone',
1094 'name': 'person_id_fax',
1098 'name': 'person_id_email',
1102 'name': 'person_id_company_id',
1106 'name': 'person_id_role',
1110 'name': 'person_id_active',
1114 'name': 'person_id_remarks',
1118 'name': 'person_id_passwd',
1122 'name': 'person_id_owner_id',
1126 'name': 'person_id_lang',
1130 'name': 'person_id_no_reset_sent',
1134 'name': 'person_id_action_type',
1138 'name': 'person_id_project_id',
1142 'name': 'person_id_deleted_by',
1146 'name': 'person_id_deleted_dt',
1153 xtype: 'PagingToolbar',
1157 displayMsg : "Displaying Events{0} - {1} of {2}",
1158 emptyMsg : "No Events found"
1162 xtype: 'ColumnModel',
1167 renderer : function(v) { return String.format('{0}', v); }
1170 xtype: 'ColumnModel',
1172 header : 'Event when',
1174 dataIndex : 'event_when',
1175 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1178 xtype: 'ColumnModel',
1180 dataIndex : 'action',
1183 renderer : function(v) { return String.format('{0}', v); }
1186 xtype: 'ColumnModel',
1188 dataIndex : 'ipaddr',
1191 renderer : function(v) { return String.format('{0}', v); }
1194 xtype: 'ColumnModel',
1196 dataIndex : 'on_id',
1199 renderer : function(v) { return String.format('{0}', v); }
1202 xtype: 'ColumnModel',
1206 dataIndex : 'remarks',
1207 renderer : function(v) { return String.format('{0}', v); }
1216 activate : function() {
1217 _this.daypanel = this;
1218 if (_this.daygrid) {
1219 _this.daygrid.footer.onClick('first');
1224 fitContainer : true,
1227 tableName : 'Events',
1228 title : "Daily summary",
1235 _this.daygrid = this;
1236 //_this.dialog = Pman.Dialog.FILL_IN
1237 if (_this.daypanel.active) {
1238 this.footer.onClick('first');
1242 autoExpandColumn : 'person_name',
1248 beforeload : function (_self, o)
1250 if (! _this.dategrid) {
1254 o.params = o.params || {};
1256 var s = _this.dategrid.selModel.getSelected();
1258 _this.detailgrid.view.el.mask("Select a person");
1262 o.params.person_id = s.data.person_id;
1264 var s = _this.tablegrid.selModel.getSelected();
1266 _this.detailgrid.view.el.mask("Select a table");
1269 o.params.on_table = s.data.on_table;
1271 _this.detailgrid.view.el.unmask();
1273 var act = _this.actionSel.getValue();
1275 o.params.action = act;
1277 var tbl = _this.affectSel.getValue();
1279 o.params.on_table = tbl;
1283 act = _this.dateFrom.getValue();
1285 o.params['query[from]'] = act.format('Y-m-d');
1287 act = _this.dateTo.getValue();
1289 o.params['query[to]'] = act.format('Y-m-d');
1292 o.params['query[day_sum]'] = 1;
1293 o.params._columns = 'on_day,qty,uqty';
1299 sortInfo : { field : 'on_day', direction: 'ASC' },
1304 url : baseURL + '/Roo/Events.php'
1307 xtype: 'JsonReader',
1309 totalProperty : 'total',
1318 'name': 'person_name',
1322 'name': 'event_when',
1324 'dateFormat': 'Y-m-d'
1343 'name': 'person_id',
1351 'name': 'person_id_id',
1355 'name': 'person_id_office_id',
1359 'name': 'person_id_name',
1363 'name': 'person_id_phone',
1367 'name': 'person_id_fax',
1371 'name': 'person_id_email',
1375 'name': 'person_id_company_id',
1379 'name': 'person_id_role',
1383 'name': 'person_id_active',
1387 'name': 'person_id_remarks',
1391 'name': 'person_id_passwd',
1395 'name': 'person_id_owner_id',
1399 'name': 'person_id_lang',
1403 'name': 'person_id_no_reset_sent',
1407 'name': 'person_id_action_type',
1411 'name': 'person_id_project_id',
1415 'name': 'person_id_deleted_by',
1419 'name': 'person_id_deleted_dt',
1426 xtype: 'PagingToolbar',
1430 displayMsg : "Displaying Events{0} - {1} of {2}",
1431 emptyMsg : "No Events found"
1435 xtype: 'ColumnModel',
1437 dataIndex : 'on_day',
1438 header : 'Event when',
1441 renderer : function(v) { return String.format('{0}', v ); }
1444 xtype: 'ColumnModel',
1447 header : '#Affected',
1450 renderer : function(v) { return String.format('{0}', v); }
1453 xtype: 'ColumnModel',
1459 renderer : function(v) { return String.format('{0}', v); }
1466 xtype: 'LayoutRegion',
1472 xtype: 'LayoutRegion',
1476 xtype: 'LayoutRegion',
1479 tabPosition : 'top',
1484 this.layout = this.panel.layout;