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) {
92 this.tablegrid.ds.removeAll();
94 o.params = o.params || {};
96 var act = _this.actionSel ? _this.actionSel.getValue() : '';
98 o.params.action = act;
100 var tbl = _this.affectSel ? _this.affectSel.getValue() : '';
102 o.params.on_table = tbl;
104 act = _this.dateFrom.getValue();
106 o.params['query[from]'] = act.format('Y-m-d');
108 act = _this.dateTo.getValue();
110 o.params['query[to]'] = act.format('Y-m-d');
115 o.params['query[person_sum]'] = 1;
116 o.params._columns = 'person_id,person_id_name,person_id_email,qty,uqty';
117 o.params.limit = 999;
122 sortInfo : { field : 'person_name', direction: 'ASC' },
127 url : baseURL + '/Roo/Events.php'
132 totalProperty : 'total',
141 'name': 'person_name',
145 'name': 'event_when',
147 'dateFormat': 'Y-m-d'
174 'name': 'person_id_id',
178 'name': 'person_id_office_id',
182 'name': 'person_id_name',
186 'name': 'person_id_phone',
190 'name': 'person_id_fax',
194 'name': 'person_id_email',
198 'name': 'person_id_company_id',
202 'name': 'person_id_role',
206 'name': 'person_id_active',
210 'name': 'person_id_remarks',
214 'name': 'person_id_passwd',
218 'name': 'person_id_owner_id',
222 'name': 'person_id_lang',
226 'name': 'person_id_no_reset_sent',
230 'name': 'person_id_action_type',
234 'name': 'person_id_project_id',
238 'name': 'person_id_deleted_by',
242 'name': 'person_id_deleted_dt',
261 render : function (_self)
263 _this.dateFrom = _self;
265 change : function (_self, newValue, oldValue)
267 _this.dategrid.ds.load({});
271 value : (function() { var d = new Date(); return d.format('Y-m-01'); })()
277 render : function (_self)
279 _this.dateTo = _self;
281 change : function (_self, newValue, oldValue)
283 _this.dategrid.ds.load({});
287 value : (function() { var d = new Date();d = d.add(Date.MONTH, 1) ; return d.format('Y-m-01'); })()
293 xtype: 'ColumnModel',
295 dataIndex : 'person_id_name',
296 header : 'Person name',
299 renderer : function(v,x,r) {
300 return String.format('{0} <<a href="mailto:{1}">{1}</a>>', v, r.data.person_id_email);
304 xtype: 'ColumnModel',
307 header : '#Affected',
310 renderer : function(v) { return String.format('{0}', v); }
313 xtype: 'ColumnModel',
319 renderer : function(v) { return String.format('{0}', v); }
328 activate : function() {
329 _this.tablepanel = this;
330 if (_this.tablegrid) {
331 _this.tablegrid.footer.onClick('first');
339 tableName : 'Events',
347 _this.tablegrid = this;
348 //_this.dialog = Pman.Dialog.FILL_IN
349 if (_this.tablepanel.active) {
350 this.footer.onClick('first');
353 rowclick : function (_self, rowIndex, e)
356 _this.panel.layout.getRegion('east').getActivePanel().grid.footer.onClick('first');
359 autoExpandColumn : 'person_name',
365 beforeload : function (_self, o)
367 if (! _this.dategrid) {
371 _this.detailpanel.ds.removeAll();
373 var s = _this.dategrid.selModel.getSelected();
375 _this.tablegrid.view.el.mask("Select a person");
378 _this.tablegrid.view.el.unmask();
380 o.params = o.params || {};
381 var act = _this.actionSel.getValue();
383 o.params.action = act;
385 var tbl = _this.affectSel.getValue();
387 o.params.on_table = tbl;
390 act = _this.dateFrom.getValue();
392 o.params['query[from]'] = act.format('Y-m-d');
394 act = _this.dateTo.getValue();
396 o.params['query[to]'] = act.format('Y-m-d');
398 o.params.person_id = s.data.person_id;
399 o.params['query[table_sum]'] = 1;
400 o.params._columns = 'on_table,qty,uqty';
406 sortInfo : { field : 'on_table', direction: 'ASC' },
411 url : baseURL + '/Roo/Events.php'
416 totalProperty : 'total',
425 'name': 'person_name',
429 'name': 'event_when',
431 'dateFormat': 'Y-m-d'
458 'name': 'person_id_id',
462 'name': 'person_id_office_id',
466 'name': 'person_id_name',
470 'name': 'person_id_phone',
474 'name': 'person_id_fax',
478 'name': 'person_id_email',
482 'name': 'person_id_company_id',
486 'name': 'person_id_role',
490 'name': 'person_id_active',
494 'name': 'person_id_remarks',
498 'name': 'person_id_passwd',
502 'name': 'person_id_owner_id',
506 'name': 'person_id_lang',
510 'name': 'person_id_no_reset_sent',
514 'name': 'person_id_action_type',
518 'name': 'person_id_project_id',
522 'name': 'person_id_deleted_by',
526 'name': 'person_id_deleted_dt',
533 xtype: 'PagingToolbar',
537 displayMsg : "Displaying Events{0} - {1} of {2}",
538 emptyMsg : "No Events found"
548 select : function (combo, record, index)
550 _this.dategrid.ds.load({});
552 render : function (_self)
554 _this.actionSel = _self;
558 displayField : 'action',
560 emptyText : "Select Action",
561 forceSelection : true,
563 loadingText : "Searching...",
567 qtip : "Select Action",
568 queryParam : 'query[action]',
569 selectOnFocus : true,
570 tpl : '<div class="x-grid-cell-text x-btn button"><b>{action}</b> </div>',
571 triggerAction : 'all',
573 valueField : 'action',
579 beforeload : function (_self, o)
581 o.params = o.params || {};
582 // staff can see all logs, other companies can only see their own.
583 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
584 o.params.company_id = Pman.Login.authUser.company_id;
586 o.params._distinct = 'action';
587 o.params._columns ='action';
591 sortInfo : { field : 'action' , direction : 'ASC' },
596 url : baseURL + '/Roo/Events.php'
601 totalProperty : 'total',
610 'name': 'person_name',
614 'name': 'event_when',
616 'dateFormat': 'Y-m-d'
643 'name': 'person_id_id',
647 'name': 'person_id_office_id',
651 'name': 'person_id_name',
655 'name': 'person_id_phone',
659 'name': 'person_id_fax',
663 'name': 'person_id_email',
667 'name': 'person_id_company_id',
671 'name': 'person_id_role',
675 'name': 'person_id_active',
679 'name': 'person_id_remarks',
683 'name': 'person_id_passwd',
687 'name': 'person_id_owner_id',
691 'name': 'person_id_lang',
695 'name': 'person_id_no_reset_sent',
699 'name': 'person_id_action_type',
703 'name': 'person_id_project_id',
707 'name': 'person_id_deleted_by',
711 'name': 'person_id_deleted_dt',
722 select : function (combo, record, index)
724 _this.dategrid.ds.load({});
726 render : function (_self)
728 _this.affectSel = _self;
732 displayField : 'on_table',
734 emptyText : "Select Affects",
735 forceSelection : true,
737 loadingText : "Searching...",
741 qtip : "Select Action",
742 queryParam : 'query[on_table]',
743 selectOnFocus : true,
744 tpl : '<div class="x-grid-cell-text x-btn button"><b>{on_table}</b> </div>',
745 triggerAction : 'all',
747 valueField : 'action',
753 beforeload : function (_self, o)
755 o.params = o.params || {};
756 // staff can see all logs, other companies can only see their own.
757 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
758 o.params.company_id = Pman.Login.authUser.company_id;
760 o.params._distinct = 'on_table';
761 o.params._columns ='on_table';
765 sortInfo : { field : 'on_table' , direction : 'ASC' },
770 url : baseURL + '/Roo/Events.php'
775 totalProperty : 'total',
784 'name': 'person_name',
788 'name': 'event_when',
790 'dateFormat': 'Y-m-d'
817 'name': 'person_id_id',
821 'name': 'person_id_office_id',
825 'name': 'person_id_name',
829 'name': 'person_id_phone',
833 'name': 'person_id_fax',
837 'name': 'person_id_email',
841 'name': 'person_id_company_id',
845 'name': 'person_id_role',
849 'name': 'person_id_active',
853 'name': 'person_id_remarks',
857 'name': 'person_id_passwd',
861 'name': 'person_id_owner_id',
865 'name': 'person_id_lang',
869 'name': 'person_id_no_reset_sent',
873 'name': 'person_id_action_type',
877 'name': 'person_id_project_id',
881 'name': 'person_id_deleted_by',
885 'name': 'person_id_deleted_dt',
896 xtype: 'ColumnModel',
898 dataIndex : 'on_table',
902 renderer : function(v) { return String.format('{0}', v); }
905 xtype: 'ColumnModel',
908 header : '#Affected',
911 renderer : function(v) { return String.format('{0}', v); }
914 xtype: 'ColumnModel',
920 renderer : function(v) { return String.format('{0}', v); }
929 activate : function() {
930 _this.detailpanel = this;
931 if (_this.detailgrid) {
932 _this.detailgrid.footer.onClick('first');
940 tableName : 'Events',
948 _this.detailgrid = this;
949 //_this.dialog = Pman.Dialog.FILL_IN
950 if (_this.detailpanel.active) {
951 this.footer.onClick('first');
955 autoExpandColumn : 'person_name',
961 beforeload : function (_self, o)
963 if (! _this.dategrid) {
967 o.params = o.params || {};
969 var s = _this.dategrid.selModel.getSelected();
971 _this.detailgrid.view.el.mask("Select a person");
975 o.params.person_id = s.data.person_id;
977 var s = _this.tablegrid.selModel.getSelected();
979 _this.detailgrid.view.el.mask("Select a table");
982 o.params.on_table = s.data.on_table;
984 _this.detailgrid.view.el.unmask();
986 var act = _this.actionSel.getValue();
988 o.params.action = act;
990 var tbl = _this.affectSel.getValue();
992 o.params.on_table = tbl;
996 act = _this.dateFrom.getValue();
998 o.params['query[from]'] = act.format('Y-m-d');
1000 act = _this.dateTo.getValue();
1002 o.params['query[to]'] = act.format('Y-m-d');
1005 //o.params['query[table_d]'] = 1;
1006 //o.params._columns = 'on_table,qty,uqty';
1012 sortInfo : { field : 'event_when', direction: 'DESC' },
1017 url : baseURL + '/Roo/Events.php'
1020 xtype: 'JsonReader',
1022 totalProperty : 'total',
1031 'name': 'person_name',
1035 'name': 'event_when',
1037 'dateFormat': 'Y-m-d'
1056 'name': 'person_id',
1064 'name': 'person_id_id',
1068 'name': 'person_id_office_id',
1072 'name': 'person_id_name',
1076 'name': 'person_id_phone',
1080 'name': 'person_id_fax',
1084 'name': 'person_id_email',
1088 'name': 'person_id_company_id',
1092 'name': 'person_id_role',
1096 'name': 'person_id_active',
1100 'name': 'person_id_remarks',
1104 'name': 'person_id_passwd',
1108 'name': 'person_id_owner_id',
1112 'name': 'person_id_lang',
1116 'name': 'person_id_no_reset_sent',
1120 'name': 'person_id_action_type',
1124 'name': 'person_id_project_id',
1128 'name': 'person_id_deleted_by',
1132 'name': 'person_id_deleted_dt',
1139 xtype: 'PagingToolbar',
1143 displayMsg : "Displaying Events{0} - {1} of {2}",
1144 emptyMsg : "No Events found"
1148 xtype: 'ColumnModel',
1153 renderer : function(v) { return String.format('{0}', v); }
1156 xtype: 'ColumnModel',
1158 header : 'Event when',
1160 dataIndex : 'event_when',
1161 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1164 xtype: 'ColumnModel',
1166 dataIndex : 'action',
1169 renderer : function(v) { return String.format('{0}', v); }
1172 xtype: 'ColumnModel',
1174 dataIndex : 'ipaddr',
1177 renderer : function(v) { return String.format('{0}', v); }
1180 xtype: 'ColumnModel',
1182 dataIndex : 'on_id',
1185 renderer : function(v) { return String.format('{0}', v); }
1188 xtype: 'ColumnModel',
1192 dataIndex : 'remarks',
1193 renderer : function(v) { return String.format('{0}', v); }
1202 activate : function() {
1203 _this.daypanel = this;
1204 if (_this.daygrid) {
1205 _this.daygrid.footer.onClick('first');
1210 fitContainer : true,
1213 tableName : 'Events',
1214 title : "Daily summary",
1221 _this.daygrid = this;
1222 //_this.dialog = Pman.Dialog.FILL_IN
1223 if (_this.daypanel.active) {
1224 this.footer.onClick('first');
1228 autoExpandColumn : 'person_name',
1234 beforeload : function (_self, o)
1236 if (! _this.dategrid) {
1240 o.params = o.params || {};
1242 var s = _this.dategrid.selModel.getSelected();
1244 _this.detailgrid.view.el.mask("Select a person");
1248 o.params.person_id = s.data.person_id;
1250 var s = _this.tablegrid.selModel.getSelected();
1252 _this.detailgrid.view.el.mask("Select a table");
1255 o.params.on_table = s.data.on_table;
1257 _this.detailgrid.view.el.unmask();
1259 var act = _this.actionSel.getValue();
1261 o.params.action = act;
1263 var tbl = _this.affectSel.getValue();
1265 o.params.on_table = tbl;
1269 act = _this.dateFrom.getValue();
1271 o.params['query[from]'] = act.format('Y-m-d');
1273 act = _this.dateTo.getValue();
1275 o.params['query[to]'] = act.format('Y-m-d');
1278 o.params['query[day_sum]'] = 1;
1279 o.params._columns = 'on_day,qty,uqty';
1285 sortInfo : { field : 'on_day', direction: 'ASC' },
1290 url : baseURL + '/Roo/Events.php'
1293 xtype: 'JsonReader',
1295 totalProperty : 'total',
1304 'name': 'person_name',
1308 'name': 'event_when',
1310 'dateFormat': 'Y-m-d'
1329 'name': 'person_id',
1337 'name': 'person_id_id',
1341 'name': 'person_id_office_id',
1345 'name': 'person_id_name',
1349 'name': 'person_id_phone',
1353 'name': 'person_id_fax',
1357 'name': 'person_id_email',
1361 'name': 'person_id_company_id',
1365 'name': 'person_id_role',
1369 'name': 'person_id_active',
1373 'name': 'person_id_remarks',
1377 'name': 'person_id_passwd',
1381 'name': 'person_id_owner_id',
1385 'name': 'person_id_lang',
1389 'name': 'person_id_no_reset_sent',
1393 'name': 'person_id_action_type',
1397 'name': 'person_id_project_id',
1401 'name': 'person_id_deleted_by',
1405 'name': 'person_id_deleted_dt',
1412 xtype: 'PagingToolbar',
1416 displayMsg : "Displaying Events{0} - {1} of {2}",
1417 emptyMsg : "No Events found"
1421 xtype: 'ColumnModel',
1423 dataIndex : 'on_day',
1424 header : 'Event when',
1427 renderer : function(v) { return String.format('{0}', v ); }
1430 xtype: 'ColumnModel',
1433 header : '#Affected',
1436 renderer : function(v) { return String.format('{0}', v); }
1439 xtype: 'ColumnModel',
1445 renderer : function(v) { return String.format('{0}', v); }
1452 xtype: 'LayoutRegion',
1458 xtype: 'LayoutRegion',
1462 xtype: 'LayoutRegion',
1465 tabPosition : 'top',
1470 this.layout = this.panel.layout;