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.detailpanel && _this.detailpanel.ds) {
372 _this.detailpanel.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) { return String.format('{0}', v); }
907 xtype: 'ColumnModel',
910 header : '#Affected',
913 renderer : function(v) { return String.format('{0}', v); }
916 xtype: 'ColumnModel',
922 renderer : function(v) { return String.format('{0}', v); }
931 activate : function() {
932 _this.detailpanel = this;
933 if (_this.detailgrid) {
934 _this.detailgrid.footer.onClick('first');
942 tableName : 'Events',
950 _this.detailgrid = this;
951 //_this.dialog = Pman.Dialog.FILL_IN
952 if (_this.detailpanel.active) {
953 this.footer.onClick('first');
957 autoExpandColumn : 'person_name',
963 beforeload : function (_self, o)
965 if (! _this.dategrid) {
969 o.params = o.params || {};
971 var s = _this.dategrid.selModel.getSelected();
973 _this.detailgrid.view.el.mask("Select a person");
977 o.params.person_id = s.data.person_id;
979 var s = _this.tablegrid.selModel.getSelected();
981 _this.detailgrid.view.el.mask("Select a table");
984 o.params.on_table = s.data.on_table;
986 _this.detailgrid.view.el.unmask();
988 var act = _this.actionSel.getValue();
990 o.params.action = act;
992 var tbl = _this.affectSel.getValue();
994 o.params.on_table = tbl;
998 act = _this.dateFrom.getValue();
1000 o.params['query[from]'] = act.format('Y-m-d');
1002 act = _this.dateTo.getValue();
1004 o.params['query[to]'] = act.format('Y-m-d');
1007 //o.params['query[table_d]'] = 1;
1008 //o.params._columns = 'on_table,qty,uqty';
1014 sortInfo : { field : 'event_when', direction: 'DESC' },
1019 url : baseURL + '/Roo/Events.php'
1022 xtype: 'JsonReader',
1024 totalProperty : 'total',
1033 'name': 'person_name',
1037 'name': 'event_when',
1039 'dateFormat': 'Y-m-d'
1058 'name': 'person_id',
1066 'name': 'person_id_id',
1070 'name': 'person_id_office_id',
1074 'name': 'person_id_name',
1078 'name': 'person_id_phone',
1082 'name': 'person_id_fax',
1086 'name': 'person_id_email',
1090 'name': 'person_id_company_id',
1094 'name': 'person_id_role',
1098 'name': 'person_id_active',
1102 'name': 'person_id_remarks',
1106 'name': 'person_id_passwd',
1110 'name': 'person_id_owner_id',
1114 'name': 'person_id_lang',
1118 'name': 'person_id_no_reset_sent',
1122 'name': 'person_id_action_type',
1126 'name': 'person_id_project_id',
1130 'name': 'person_id_deleted_by',
1134 'name': 'person_id_deleted_dt',
1141 xtype: 'PagingToolbar',
1145 displayMsg : "Displaying Events{0} - {1} of {2}",
1146 emptyMsg : "No Events found"
1150 xtype: 'ColumnModel',
1155 renderer : function(v) { return String.format('{0}', v); }
1158 xtype: 'ColumnModel',
1160 header : 'Event when',
1162 dataIndex : 'event_when',
1163 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1166 xtype: 'ColumnModel',
1168 dataIndex : 'action',
1171 renderer : function(v) { return String.format('{0}', v); }
1174 xtype: 'ColumnModel',
1176 dataIndex : 'ipaddr',
1179 renderer : function(v) { return String.format('{0}', v); }
1182 xtype: 'ColumnModel',
1184 dataIndex : 'on_id',
1187 renderer : function(v) { return String.format('{0}', v); }
1190 xtype: 'ColumnModel',
1194 dataIndex : 'remarks',
1195 renderer : function(v) { return String.format('{0}', v); }
1204 activate : function() {
1205 _this.daypanel = this;
1206 if (_this.daygrid) {
1207 _this.daygrid.footer.onClick('first');
1212 fitContainer : true,
1215 tableName : 'Events',
1216 title : "Daily summary",
1223 _this.daygrid = this;
1224 //_this.dialog = Pman.Dialog.FILL_IN
1225 if (_this.daypanel.active) {
1226 this.footer.onClick('first');
1230 autoExpandColumn : 'person_name',
1236 beforeload : function (_self, o)
1238 if (! _this.dategrid) {
1242 o.params = o.params || {};
1244 var s = _this.dategrid.selModel.getSelected();
1246 _this.detailgrid.view.el.mask("Select a person");
1250 o.params.person_id = s.data.person_id;
1252 var s = _this.tablegrid.selModel.getSelected();
1254 _this.detailgrid.view.el.mask("Select a table");
1257 o.params.on_table = s.data.on_table;
1259 _this.detailgrid.view.el.unmask();
1261 var act = _this.actionSel.getValue();
1263 o.params.action = act;
1265 var tbl = _this.affectSel.getValue();
1267 o.params.on_table = tbl;
1271 act = _this.dateFrom.getValue();
1273 o.params['query[from]'] = act.format('Y-m-d');
1275 act = _this.dateTo.getValue();
1277 o.params['query[to]'] = act.format('Y-m-d');
1280 o.params['query[day_sum]'] = 1;
1281 o.params._columns = 'on_day,qty,uqty';
1287 sortInfo : { field : 'on_day', direction: 'ASC' },
1292 url : baseURL + '/Roo/Events.php'
1295 xtype: 'JsonReader',
1297 totalProperty : 'total',
1306 'name': 'person_name',
1310 'name': 'event_when',
1312 'dateFormat': 'Y-m-d'
1331 'name': 'person_id',
1339 'name': 'person_id_id',
1343 'name': 'person_id_office_id',
1347 'name': 'person_id_name',
1351 'name': 'person_id_phone',
1355 'name': 'person_id_fax',
1359 'name': 'person_id_email',
1363 'name': 'person_id_company_id',
1367 'name': 'person_id_role',
1371 'name': 'person_id_active',
1375 'name': 'person_id_remarks',
1379 'name': 'person_id_passwd',
1383 'name': 'person_id_owner_id',
1387 'name': 'person_id_lang',
1391 'name': 'person_id_no_reset_sent',
1395 'name': 'person_id_action_type',
1399 'name': 'person_id_project_id',
1403 'name': 'person_id_deleted_by',
1407 'name': 'person_id_deleted_dt',
1414 xtype: 'PagingToolbar',
1418 displayMsg : "Displaying Events{0} - {1} of {2}",
1419 emptyMsg : "No Events found"
1423 xtype: 'ColumnModel',
1425 dataIndex : 'on_day',
1426 header : 'Event when',
1429 renderer : function(v) { return String.format('{0}', v ); }
1432 xtype: 'ColumnModel',
1435 header : '#Affected',
1438 renderer : function(v) { return String.format('{0}', v); }
1441 xtype: 'ColumnModel',
1447 renderer : function(v) { return String.format('{0}', v); }
1454 xtype: 'LayoutRegion',
1460 xtype: 'LayoutRegion',
1464 xtype: 'LayoutRegion',
1467 tabPosition : 'top',
1472 this.layout = this.panel.layout;