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 _this.panel.layout.getRegion('east').getActivePanel().grid.ds.removeAll();
100 o.params = o.params || {};
102 var act = _this.actionSel ? _this.actionSel.getValue() : '';
104 o.params.action = act;
106 var tbl = _this.affectSel ? _this.affectSel.getValue() : '';
108 o.params.on_table = tbl;
110 act = _this.dateFrom.getValue();
112 o.params['query[from]'] = act.format('Y-m-d');
114 act = _this.dateTo.getValue();
116 o.params['query[to]'] = act.format('Y-m-d');
121 o.params['query[person_sum]'] = 1;
122 o.params._columns = 'person_id,person_id_name,person_id_email,qty,uqty';
123 o.params.limit = 999;
128 sortInfo : { field : 'person_name', direction: 'ASC' },
133 url : baseURL + '/Roo/Events.php'
138 totalProperty : 'total',
147 'name': 'person_name',
151 'name': 'event_when',
153 'dateFormat': 'Y-m-d'
180 'name': 'person_id_id',
184 'name': 'person_id_office_id',
188 'name': 'person_id_name',
192 'name': 'person_id_phone',
196 'name': 'person_id_fax',
200 'name': 'person_id_email',
204 'name': 'person_id_company_id',
208 'name': 'person_id_role',
212 'name': 'person_id_active',
216 'name': 'person_id_remarks',
220 'name': 'person_id_passwd',
224 'name': 'person_id_owner_id',
228 'name': 'person_id_lang',
232 'name': 'person_id_no_reset_sent',
236 'name': 'person_id_action_type',
240 'name': 'person_id_project_id',
244 'name': 'person_id_deleted_by',
248 'name': 'person_id_deleted_dt',
267 render : function (_self)
269 _this.dateFrom = _self;
271 change : function (_self, newValue, oldValue)
273 _this.dategrid.ds.load({});
277 value : (function() { var d = new Date(); return d.format('Y-m-01'); })()
283 render : function (_self)
285 _this.dateTo = _self;
287 change : function (_self, newValue, oldValue)
289 _this.dategrid.ds.load({});
293 value : (function() { var d = new Date();d = d.add(Date.MONTH, 1) ; return d.format('Y-m-01'); })()
299 xtype: 'ColumnModel',
301 dataIndex : 'person_id_name',
302 header : 'Person name',
305 renderer : function(v,x,r) {
306 return String.format('{0} <<a href="mailto:{1}">{1}</a>>', v, r.data.person_id_email);
310 xtype: 'ColumnModel',
313 header : '#Affected',
316 renderer : function(v) { return String.format('{0}', v); }
319 xtype: 'ColumnModel',
325 renderer : function(v) { return String.format('{0}', v); }
334 activate : function() {
335 _this.tablepanel = this;
336 if (_this.tablegrid) {
337 _this.tablegrid.footer.onClick('first');
345 tableName : 'Events',
353 _this.tablegrid = this;
354 //_this.dialog = Pman.Dialog.FILL_IN
355 if (_this.tablepanel.active) {
356 this.footer.onClick('first');
359 rowclick : function (_self, rowIndex, e)
362 _this.panel.layout.getRegion('east').getActivePanel().grid.footer.onClick('first');
365 autoExpandColumn : 'person_name',
371 beforeload : function (_self, o)
373 if (! _this.dategrid) {
377 _this.panel.layout.getRegion('east').getActivePanel().grid.ds.removeAll();
383 var s = _this.dategrid.selModel.getSelected();
385 _this.tablegrid.view.el.mask("Select a person");
388 _this.tablegrid.view.el.unmask();
390 o.params = o.params || {};
391 var act = _this.actionSel.getValue();
393 o.params.action = act;
395 var tbl = _this.affectSel.getValue();
397 o.params.on_table = tbl;
400 act = _this.dateFrom.getValue();
402 o.params['query[from]'] = act.format('Y-m-d');
404 act = _this.dateTo.getValue();
406 o.params['query[to]'] = act.format('Y-m-d');
408 o.params.person_id = s.data.person_id;
409 o.params['query[table_sum]'] = 1;
410 o.params._columns = 'on_table,qty,uqty';
416 sortInfo : { field : 'on_table', direction: 'ASC' },
421 url : baseURL + '/Roo/Events.php'
426 totalProperty : 'total',
435 'name': 'person_name',
439 'name': 'event_when',
441 'dateFormat': 'Y-m-d'
468 'name': 'person_id_id',
472 'name': 'person_id_office_id',
476 'name': 'person_id_name',
480 'name': 'person_id_phone',
484 'name': 'person_id_fax',
488 'name': 'person_id_email',
492 'name': 'person_id_company_id',
496 'name': 'person_id_role',
500 'name': 'person_id_active',
504 'name': 'person_id_remarks',
508 'name': 'person_id_passwd',
512 'name': 'person_id_owner_id',
516 'name': 'person_id_lang',
520 'name': 'person_id_no_reset_sent',
524 'name': 'person_id_action_type',
528 'name': 'person_id_project_id',
532 'name': 'person_id_deleted_by',
536 'name': 'person_id_deleted_dt',
543 xtype: 'PagingToolbar',
547 displayMsg : "Displaying Events{0} - {1} of {2}",
548 emptyMsg : "No Events found"
558 select : function (combo, record, index)
560 _this.dategrid.ds.load({});
562 render : function (_self)
564 _this.actionSel = _self;
568 displayField : 'action',
570 emptyText : "Select Action",
571 forceSelection : true,
573 loadingText : "Searching...",
577 qtip : "Select Action",
578 queryParam : 'query[action]',
579 selectOnFocus : true,
580 tpl : '<div class="x-grid-cell-text x-btn button"><b>{action}</b> </div>',
581 triggerAction : 'all',
583 valueField : 'action',
589 beforeload : function (_self, o)
591 o.params = o.params || {};
592 // staff can see all logs, other companies can only see their own.
593 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
594 o.params.company_id = Pman.Login.authUser.company_id;
596 o.params._distinct = 'action';
597 o.params._columns ='action';
601 sortInfo : { field : 'action' , direction : 'ASC' },
606 url : baseURL + '/Roo/Events.php'
611 totalProperty : 'total',
620 'name': 'person_name',
624 'name': 'event_when',
626 'dateFormat': 'Y-m-d'
653 'name': 'person_id_id',
657 'name': 'person_id_office_id',
661 'name': 'person_id_name',
665 'name': 'person_id_phone',
669 'name': 'person_id_fax',
673 'name': 'person_id_email',
677 'name': 'person_id_company_id',
681 'name': 'person_id_role',
685 'name': 'person_id_active',
689 'name': 'person_id_remarks',
693 'name': 'person_id_passwd',
697 'name': 'person_id_owner_id',
701 'name': 'person_id_lang',
705 'name': 'person_id_no_reset_sent',
709 'name': 'person_id_action_type',
713 'name': 'person_id_project_id',
717 'name': 'person_id_deleted_by',
721 'name': 'person_id_deleted_dt',
732 select : function (combo, record, index)
734 _this.dategrid.ds.load({});
736 render : function (_self)
738 _this.affectSel = _self;
742 displayField : 'on_table',
744 emptyText : "Select Affects",
745 forceSelection : true,
747 loadingText : "Searching...",
751 qtip : "Select Action",
752 queryParam : 'query[on_table]',
753 selectOnFocus : true,
754 tpl : '<div class="x-grid-cell-text x-btn button"><b>{on_table}</b> </div>',
755 triggerAction : 'all',
757 valueField : 'action',
763 beforeload : function (_self, o)
765 o.params = o.params || {};
766 // staff can see all logs, other companies can only see their own.
767 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
768 o.params.company_id = Pman.Login.authUser.company_id;
770 o.params._distinct = 'on_table';
771 o.params._columns ='on_table';
775 sortInfo : { field : 'on_table' , direction : 'ASC' },
780 url : baseURL + '/Roo/Events.php'
785 totalProperty : 'total',
794 'name': 'person_name',
798 'name': 'event_when',
800 'dateFormat': 'Y-m-d'
827 'name': 'person_id_id',
831 'name': 'person_id_office_id',
835 'name': 'person_id_name',
839 'name': 'person_id_phone',
843 'name': 'person_id_fax',
847 'name': 'person_id_email',
851 'name': 'person_id_company_id',
855 'name': 'person_id_role',
859 'name': 'person_id_active',
863 'name': 'person_id_remarks',
867 'name': 'person_id_passwd',
871 'name': 'person_id_owner_id',
875 'name': 'person_id_lang',
879 'name': 'person_id_no_reset_sent',
883 'name': 'person_id_action_type',
887 'name': 'person_id_project_id',
891 'name': 'person_id_deleted_by',
895 'name': 'person_id_deleted_dt',
906 xtype: 'ColumnModel',
908 dataIndex : 'on_table',
912 renderer : function(v) {
914 return "Login / Logout / Errors";
916 return String.format('{0}', v);
920 xtype: 'ColumnModel',
923 header : '#Affected',
926 renderer : function(v) { return String.format('{0}', v); }
929 xtype: 'ColumnModel',
935 renderer : function(v) { return String.format('{0}', v); }
944 activate : function() {
945 _this.detailpanel = this;
946 if (_this.detailgrid) {
947 _this.detailgrid.footer.onClick('first');
955 tableName : 'Events',
963 _this.detailgrid = this;
964 //_this.dialog = Pman.Dialog.FILL_IN
965 if (_this.detailpanel.active) {
966 this.footer.onClick('first');
970 autoExpandColumn : 'person_name',
976 beforeload : function (_self, o)
978 if (! _this.dategrid) {
982 o.params = o.params || {};
984 var s = _this.dategrid.selModel.getSelected();
986 _this.detailgrid.view.el.mask("Select a person");
990 o.params.person_id = s.data.person_id;
992 var s = _this.tablegrid.selModel.getSelected();
994 _this.detailgrid.view.el.mask("Select a table");
997 o.params.on_table = s.data.on_table;
999 _this.detailgrid.view.el.unmask();
1001 var act = _this.actionSel.getValue();
1003 o.params.action = act;
1005 var tbl = _this.affectSel.getValue();
1007 o.params.on_table = tbl;
1011 act = _this.dateFrom.getValue();
1013 o.params['query[from]'] = act.format('Y-m-d');
1015 act = _this.dateTo.getValue();
1017 o.params['query[to]'] = act.format('Y-m-d');
1020 //o.params['query[table_d]'] = 1;
1021 //o.params._columns = 'on_table,qty,uqty';
1027 sortInfo : { field : 'event_when', direction: 'DESC' },
1032 url : baseURL + '/Roo/Events.php'
1035 xtype: 'JsonReader',
1037 totalProperty : 'total',
1046 'name': 'person_name',
1050 'name': 'event_when',
1052 'dateFormat': 'Y-m-d'
1071 'name': 'person_id',
1079 'name': 'person_id_id',
1083 'name': 'person_id_office_id',
1087 'name': 'person_id_name',
1091 'name': 'person_id_phone',
1095 'name': 'person_id_fax',
1099 'name': 'person_id_email',
1103 'name': 'person_id_company_id',
1107 'name': 'person_id_role',
1111 'name': 'person_id_active',
1115 'name': 'person_id_remarks',
1119 'name': 'person_id_passwd',
1123 'name': 'person_id_owner_id',
1127 'name': 'person_id_lang',
1131 'name': 'person_id_no_reset_sent',
1135 'name': 'person_id_action_type',
1139 'name': 'person_id_project_id',
1143 'name': 'person_id_deleted_by',
1147 'name': 'person_id_deleted_dt',
1154 xtype: 'PagingToolbar',
1158 displayMsg : "Displaying Events{0} - {1} of {2}",
1159 emptyMsg : "No Events found"
1163 xtype: 'ColumnModel',
1168 renderer : function(v) { return String.format('{0}', v); }
1171 xtype: 'ColumnModel',
1173 header : 'Event when',
1175 dataIndex : 'event_when',
1176 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1179 xtype: 'ColumnModel',
1181 dataIndex : 'action',
1184 renderer : function(v) { return String.format('{0}', v); }
1187 xtype: 'ColumnModel',
1189 dataIndex : 'ipaddr',
1192 renderer : function(v) { return String.format('{0}', v); }
1195 xtype: 'ColumnModel',
1197 dataIndex : 'on_id',
1200 renderer : function(v) { return String.format('{0}', v); }
1203 xtype: 'ColumnModel',
1207 dataIndex : 'remarks',
1208 renderer : function(v) { return String.format('{0}', v); }
1217 activate : function() {
1218 _this.daypanel = this;
1219 if (_this.daygrid) {
1220 _this.daygrid.footer.onClick('first');
1225 fitContainer : true,
1228 tableName : 'Events',
1229 title : "Daily summary",
1236 _this.daygrid = this;
1237 //_this.dialog = Pman.Dialog.FILL_IN
1238 if (_this.daypanel.active) {
1239 this.footer.onClick('first');
1243 autoExpandColumn : 'person_name',
1249 beforeload : function (_self, o)
1251 if (! _this.dategrid) {
1255 o.params = o.params || {};
1257 var s = _this.dategrid.selModel.getSelected();
1259 _this.detailgrid.view.el.mask("Select a person");
1263 o.params.person_id = s.data.person_id;
1265 var s = _this.tablegrid.selModel.getSelected();
1267 _this.detailgrid.view.el.mask("Select a table");
1270 o.params.on_table = s.data.on_table;
1272 _this.detailgrid.view.el.unmask();
1274 var act = _this.actionSel.getValue();
1276 o.params.action = act;
1278 var tbl = _this.affectSel.getValue();
1280 o.params.on_table = tbl;
1284 act = _this.dateFrom.getValue();
1286 o.params['query[from]'] = act.format('Y-m-d');
1288 act = _this.dateTo.getValue();
1290 o.params['query[to]'] = act.format('Y-m-d');
1293 o.params['query[day_sum]'] = 1;
1294 o.params._columns = 'on_day,qty,uqty';
1300 sortInfo : { field : 'on_day', direction: 'ASC' },
1305 url : baseURL + '/Roo/Events.php'
1308 xtype: 'JsonReader',
1310 totalProperty : 'total',
1319 'name': 'person_name',
1323 'name': 'event_when',
1325 'dateFormat': 'Y-m-d'
1344 'name': 'person_id',
1352 'name': 'person_id_id',
1356 'name': 'person_id_office_id',
1360 'name': 'person_id_name',
1364 'name': 'person_id_phone',
1368 'name': 'person_id_fax',
1372 'name': 'person_id_email',
1376 'name': 'person_id_company_id',
1380 'name': 'person_id_role',
1384 'name': 'person_id_active',
1388 'name': 'person_id_remarks',
1392 'name': 'person_id_passwd',
1396 'name': 'person_id_owner_id',
1400 'name': 'person_id_lang',
1404 'name': 'person_id_no_reset_sent',
1408 'name': 'person_id_action_type',
1412 'name': 'person_id_project_id',
1416 'name': 'person_id_deleted_by',
1420 'name': 'person_id_deleted_dt',
1427 xtype: 'PagingToolbar',
1431 displayMsg : "Displaying Events{0} - {1} of {2}",
1432 emptyMsg : "No Events found"
1436 xtype: 'ColumnModel',
1438 dataIndex : 'on_day',
1439 header : 'Event when',
1442 renderer : function(v) { return String.format('{0}', v ); }
1445 xtype: 'ColumnModel',
1448 header : '#Affected',
1451 renderer : function(v) { return String.format('{0}', v); }
1454 xtype: 'ColumnModel',
1460 renderer : function(v) { return String.format('{0}', v); }
1467 xtype: 'LayoutRegion',
1473 xtype: 'LayoutRegion',
1477 xtype: 'LayoutRegion',
1480 tabPosition : 'top',
1485 this.layout = this.panel.layout;