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) {
91 if (_this.tablegrid) {
92 _this.tablegrid.ds.removeAll();
95 o.params = o.params || {};
97 var act = _this.actionSel ? _this.actionSel.getValue() : '';
99 o.params.action = act;
101 var tbl = _this.affectSel ? _this.affectSel.getValue() : '';
103 o.params.on_table = tbl;
105 act = _this.dateFrom.getValue();
107 o.params['query[from]'] = act.format('Y-m-d');
109 act = _this.dateTo.getValue();
111 o.params['query[to]'] = act.format('Y-m-d');
116 o.params['query[person_sum]'] = 1;
117 o.params._columns = 'person_id,person_id_name,person_id_email,qty,uqty';
118 o.params.limit = 999;
123 sortInfo : { field : 'person_name', direction: 'ASC' },
128 url : baseURL + '/Roo/Events.php'
133 totalProperty : 'total',
142 'name': 'person_name',
146 'name': 'event_when',
148 'dateFormat': 'Y-m-d'
175 'name': 'person_id_id',
179 'name': 'person_id_office_id',
183 'name': 'person_id_name',
187 'name': 'person_id_phone',
191 'name': 'person_id_fax',
195 'name': 'person_id_email',
199 'name': 'person_id_company_id',
203 'name': 'person_id_role',
207 'name': 'person_id_active',
211 'name': 'person_id_remarks',
215 'name': 'person_id_passwd',
219 'name': 'person_id_owner_id',
223 'name': 'person_id_lang',
227 'name': 'person_id_no_reset_sent',
231 'name': 'person_id_action_type',
235 'name': 'person_id_project_id',
239 'name': 'person_id_deleted_by',
243 'name': 'person_id_deleted_dt',
262 render : function (_self)
264 _this.dateFrom = _self;
266 change : function (_self, newValue, oldValue)
268 _this.dategrid.ds.load({});
272 value : (function() { var d = new Date(); return d.format('Y-m-01'); })()
278 render : function (_self)
280 _this.dateTo = _self;
282 change : function (_self, newValue, oldValue)
284 _this.dategrid.ds.load({});
288 value : (function() { var d = new Date();d = d.add(Date.MONTH, 1) ; return d.format('Y-m-01'); })()
294 xtype: 'ColumnModel',
296 dataIndex : 'person_id_name',
297 header : 'Person name',
300 renderer : function(v,x,r) {
301 return String.format('{0} <<a href="mailto:{1}">{1}</a>>', v, r.data.person_id_email);
305 xtype: 'ColumnModel',
308 header : '#Affected',
311 renderer : function(v) { return String.format('{0}', v); }
314 xtype: 'ColumnModel',
320 renderer : function(v) { return String.format('{0}', v); }
329 activate : function() {
330 _this.tablepanel = this;
331 if (_this.tablegrid) {
332 _this.tablegrid.footer.onClick('first');
340 tableName : 'Events',
348 _this.tablegrid = this;
349 //_this.dialog = Pman.Dialog.FILL_IN
350 if (_this.tablepanel.active) {
351 this.footer.onClick('first');
354 rowclick : function (_self, rowIndex, e)
357 _this.panel.layout.getRegion('east').getActivePanel().grid.footer.onClick('first');
360 autoExpandColumn : 'person_name',
366 beforeload : function (_self, o)
368 if (! _this.dategrid) {
371 if (_this.detailgrid) {
372 _this.detailgrid.ds.removeAll();
375 var s = _this.dategrid.selModel.getSelected();
377 _this.tablegrid.view.el.mask("Select a person");
380 _this.tablegrid.view.el.unmask();
382 o.params = o.params || {};
383 var act = _this.actionSel.getValue();
385 o.params.action = act;
387 var tbl = _this.affectSel.getValue();
389 o.params.on_table = tbl;
392 act = _this.dateFrom.getValue();
394 o.params['query[from]'] = act.format('Y-m-d');
396 act = _this.dateTo.getValue();
398 o.params['query[to]'] = act.format('Y-m-d');
400 o.params.person_id = s.data.person_id;
401 o.params['query[table_sum]'] = 1;
402 o.params._columns = 'on_table,qty,uqty';
408 sortInfo : { field : 'on_table', direction: 'ASC' },
413 url : baseURL + '/Roo/Events.php'
418 totalProperty : 'total',
427 'name': 'person_name',
431 'name': 'event_when',
433 'dateFormat': 'Y-m-d'
460 'name': 'person_id_id',
464 'name': 'person_id_office_id',
468 'name': 'person_id_name',
472 'name': 'person_id_phone',
476 'name': 'person_id_fax',
480 'name': 'person_id_email',
484 'name': 'person_id_company_id',
488 'name': 'person_id_role',
492 'name': 'person_id_active',
496 'name': 'person_id_remarks',
500 'name': 'person_id_passwd',
504 'name': 'person_id_owner_id',
508 'name': 'person_id_lang',
512 'name': 'person_id_no_reset_sent',
516 'name': 'person_id_action_type',
520 'name': 'person_id_project_id',
524 'name': 'person_id_deleted_by',
528 'name': 'person_id_deleted_dt',
535 xtype: 'PagingToolbar',
539 displayMsg : "Displaying Events{0} - {1} of {2}",
540 emptyMsg : "No Events found"
550 select : function (combo, record, index)
552 _this.dategrid.ds.load({});
554 render : function (_self)
556 _this.actionSel = _self;
560 displayField : 'action',
562 emptyText : "Select Action",
563 forceSelection : true,
565 loadingText : "Searching...",
569 qtip : "Select Action",
570 queryParam : 'query[action]',
571 selectOnFocus : true,
572 tpl : '<div class="x-grid-cell-text x-btn button"><b>{action}</b> </div>',
573 triggerAction : 'all',
575 valueField : 'action',
581 beforeload : function (_self, o)
583 o.params = o.params || {};
584 // staff can see all logs, other companies can only see their own.
585 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
586 o.params.company_id = Pman.Login.authUser.company_id;
588 o.params._distinct = 'action';
589 o.params._columns ='action';
593 sortInfo : { field : 'action' , direction : 'ASC' },
598 url : baseURL + '/Roo/Events.php'
603 totalProperty : 'total',
612 'name': 'person_name',
616 'name': 'event_when',
618 'dateFormat': 'Y-m-d'
645 'name': 'person_id_id',
649 'name': 'person_id_office_id',
653 'name': 'person_id_name',
657 'name': 'person_id_phone',
661 'name': 'person_id_fax',
665 'name': 'person_id_email',
669 'name': 'person_id_company_id',
673 'name': 'person_id_role',
677 'name': 'person_id_active',
681 'name': 'person_id_remarks',
685 'name': 'person_id_passwd',
689 'name': 'person_id_owner_id',
693 'name': 'person_id_lang',
697 'name': 'person_id_no_reset_sent',
701 'name': 'person_id_action_type',
705 'name': 'person_id_project_id',
709 'name': 'person_id_deleted_by',
713 'name': 'person_id_deleted_dt',
724 select : function (combo, record, index)
726 _this.dategrid.ds.load({});
728 render : function (_self)
730 _this.affectSel = _self;
734 displayField : 'on_table',
736 emptyText : "Select Affects",
737 forceSelection : true,
739 loadingText : "Searching...",
743 qtip : "Select Action",
744 queryParam : 'query[on_table]',
745 selectOnFocus : true,
746 tpl : '<div class="x-grid-cell-text x-btn button"><b>{on_table}</b> </div>',
747 triggerAction : 'all',
749 valueField : 'action',
755 beforeload : function (_self, o)
757 o.params = o.params || {};
758 // staff can see all logs, other companies can only see their own.
759 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
760 o.params.company_id = Pman.Login.authUser.company_id;
762 o.params._distinct = 'on_table';
763 o.params._columns ='on_table';
767 sortInfo : { field : 'on_table' , direction : 'ASC' },
772 url : baseURL + '/Roo/Events.php'
777 totalProperty : 'total',
786 'name': 'person_name',
790 'name': 'event_when',
792 'dateFormat': 'Y-m-d'
819 'name': 'person_id_id',
823 'name': 'person_id_office_id',
827 'name': 'person_id_name',
831 'name': 'person_id_phone',
835 'name': 'person_id_fax',
839 'name': 'person_id_email',
843 'name': 'person_id_company_id',
847 'name': 'person_id_role',
851 'name': 'person_id_active',
855 'name': 'person_id_remarks',
859 'name': 'person_id_passwd',
863 'name': 'person_id_owner_id',
867 'name': 'person_id_lang',
871 'name': 'person_id_no_reset_sent',
875 'name': 'person_id_action_type',
879 'name': 'person_id_project_id',
883 'name': 'person_id_deleted_by',
887 'name': 'person_id_deleted_dt',
898 xtype: 'ColumnModel',
900 dataIndex : 'on_table',
904 renderer : function(v) {
906 return "Login / Logout / Errors";
908 return String.format('{0}', v);
912 xtype: 'ColumnModel',
915 header : '#Affected',
918 renderer : function(v) { return String.format('{0}', v); }
921 xtype: 'ColumnModel',
927 renderer : function(v) { return String.format('{0}', v); }
936 activate : function() {
937 _this.detailpanel = this;
938 if (_this.detailgrid) {
939 _this.detailgrid.footer.onClick('first');
947 tableName : 'Events',
955 _this.detailgrid = this;
956 //_this.dialog = Pman.Dialog.FILL_IN
957 if (_this.detailpanel.active) {
958 this.footer.onClick('first');
962 autoExpandColumn : 'person_name',
968 beforeload : function (_self, o)
970 if (! _this.dategrid) {
974 o.params = o.params || {};
976 var s = _this.dategrid.selModel.getSelected();
978 _this.detailgrid.view.el.mask("Select a person");
982 o.params.person_id = s.data.person_id;
984 var s = _this.tablegrid.selModel.getSelected();
986 _this.detailgrid.view.el.mask("Select a table");
989 o.params.on_table = s.data.on_table;
991 _this.detailgrid.view.el.unmask();
993 var act = _this.actionSel.getValue();
995 o.params.action = act;
997 var tbl = _this.affectSel.getValue();
999 o.params.on_table = tbl;
1003 act = _this.dateFrom.getValue();
1005 o.params['query[from]'] = act.format('Y-m-d');
1007 act = _this.dateTo.getValue();
1009 o.params['query[to]'] = act.format('Y-m-d');
1012 //o.params['query[table_d]'] = 1;
1013 //o.params._columns = 'on_table,qty,uqty';
1019 sortInfo : { field : 'event_when', direction: 'DESC' },
1024 url : baseURL + '/Roo/Events.php'
1027 xtype: 'JsonReader',
1029 totalProperty : 'total',
1038 'name': 'person_name',
1042 'name': 'event_when',
1044 'dateFormat': 'Y-m-d'
1063 'name': 'person_id',
1071 'name': 'person_id_id',
1075 'name': 'person_id_office_id',
1079 'name': 'person_id_name',
1083 'name': 'person_id_phone',
1087 'name': 'person_id_fax',
1091 'name': 'person_id_email',
1095 'name': 'person_id_company_id',
1099 'name': 'person_id_role',
1103 'name': 'person_id_active',
1107 'name': 'person_id_remarks',
1111 'name': 'person_id_passwd',
1115 'name': 'person_id_owner_id',
1119 'name': 'person_id_lang',
1123 'name': 'person_id_no_reset_sent',
1127 'name': 'person_id_action_type',
1131 'name': 'person_id_project_id',
1135 'name': 'person_id_deleted_by',
1139 'name': 'person_id_deleted_dt',
1146 xtype: 'PagingToolbar',
1150 displayMsg : "Displaying Events{0} - {1} of {2}",
1151 emptyMsg : "No Events found"
1155 xtype: 'ColumnModel',
1160 renderer : function(v) { return String.format('{0}', v); }
1163 xtype: 'ColumnModel',
1165 header : 'Event when',
1167 dataIndex : 'event_when',
1168 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1171 xtype: 'ColumnModel',
1173 dataIndex : 'action',
1176 renderer : function(v) { return String.format('{0}', v); }
1179 xtype: 'ColumnModel',
1181 dataIndex : 'ipaddr',
1184 renderer : function(v) { return String.format('{0}', v); }
1187 xtype: 'ColumnModel',
1189 dataIndex : 'on_id',
1192 renderer : function(v) { return String.format('{0}', v); }
1195 xtype: 'ColumnModel',
1199 dataIndex : 'remarks',
1200 renderer : function(v) { return String.format('{0}', v); }
1209 activate : function() {
1210 _this.daypanel = this;
1211 if (_this.daygrid) {
1212 _this.daygrid.footer.onClick('first');
1217 fitContainer : true,
1220 tableName : 'Events',
1221 title : "Daily summary",
1228 _this.daygrid = this;
1229 //_this.dialog = Pman.Dialog.FILL_IN
1230 if (_this.daypanel.active) {
1231 this.footer.onClick('first');
1235 autoExpandColumn : 'person_name',
1241 beforeload : function (_self, o)
1243 if (! _this.dategrid) {
1247 o.params = o.params || {};
1249 var s = _this.dategrid.selModel.getSelected();
1251 _this.detailgrid.view.el.mask("Select a person");
1255 o.params.person_id = s.data.person_id;
1257 var s = _this.tablegrid.selModel.getSelected();
1259 _this.detailgrid.view.el.mask("Select a table");
1262 o.params.on_table = s.data.on_table;
1264 _this.detailgrid.view.el.unmask();
1266 var act = _this.actionSel.getValue();
1268 o.params.action = act;
1270 var tbl = _this.affectSel.getValue();
1272 o.params.on_table = tbl;
1276 act = _this.dateFrom.getValue();
1278 o.params['query[from]'] = act.format('Y-m-d');
1280 act = _this.dateTo.getValue();
1282 o.params['query[to]'] = act.format('Y-m-d');
1285 o.params['query[day_sum]'] = 1;
1286 o.params._columns = 'on_day,qty,uqty';
1292 sortInfo : { field : 'on_day', direction: 'ASC' },
1297 url : baseURL + '/Roo/Events.php'
1300 xtype: 'JsonReader',
1302 totalProperty : 'total',
1311 'name': 'person_name',
1315 'name': 'event_when',
1317 'dateFormat': 'Y-m-d'
1336 'name': 'person_id',
1344 'name': 'person_id_id',
1348 'name': 'person_id_office_id',
1352 'name': 'person_id_name',
1356 'name': 'person_id_phone',
1360 'name': 'person_id_fax',
1364 'name': 'person_id_email',
1368 'name': 'person_id_company_id',
1372 'name': 'person_id_role',
1376 'name': 'person_id_active',
1380 'name': 'person_id_remarks',
1384 'name': 'person_id_passwd',
1388 'name': 'person_id_owner_id',
1392 'name': 'person_id_lang',
1396 'name': 'person_id_no_reset_sent',
1400 'name': 'person_id_action_type',
1404 'name': 'person_id_project_id',
1408 'name': 'person_id_deleted_by',
1412 'name': 'person_id_deleted_dt',
1419 xtype: 'PagingToolbar',
1423 displayMsg : "Displaying Events{0} - {1} of {2}",
1424 emptyMsg : "No Events found"
1428 xtype: 'ColumnModel',
1430 dataIndex : 'on_day',
1431 header : 'Event when',
1434 renderer : function(v) { return String.format('{0}', v ); }
1437 xtype: 'ColumnModel',
1440 header : '#Affected',
1443 renderer : function(v) { return String.format('{0}', v); }
1446 xtype: 'ColumnModel',
1452 renderer : function(v) { return String.format('{0}', v); }
1459 xtype: 'LayoutRegion',
1465 xtype: 'LayoutRegion',
1469 xtype: 'LayoutRegion',
1472 tabPosition : 'top',
1477 this.layout = this.panel.layout;