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) {
372 _this.panel.layout.getRegion('east').getActivePanel().grid.ds.removeAll();
378 var s = _this.dategrid.selModel.getSelected();
380 _this.tablegrid.view.el.mask("Select a person");
383 _this.tablegrid.view.el.unmask();
385 o.params = o.params || {};
386 var act = _this.actionSel.getValue();
388 o.params.action = act;
390 var tbl = _this.affectSel.getValue();
392 o.params.on_table = tbl;
395 act = _this.dateFrom.getValue();
397 o.params['query[from]'] = act.format('Y-m-d');
399 act = _this.dateTo.getValue();
401 o.params['query[to]'] = act.format('Y-m-d');
403 o.params.person_id = s.data.person_id;
404 o.params['query[table_sum]'] = 1;
405 o.params._columns = 'on_table,qty,uqty';
411 sortInfo : { field : 'on_table', direction: 'ASC' },
416 url : baseURL + '/Roo/Events.php'
421 totalProperty : 'total',
430 'name': 'person_name',
434 'name': 'event_when',
436 'dateFormat': 'Y-m-d'
463 'name': 'person_id_id',
467 'name': 'person_id_office_id',
471 'name': 'person_id_name',
475 'name': 'person_id_phone',
479 'name': 'person_id_fax',
483 'name': 'person_id_email',
487 'name': 'person_id_company_id',
491 'name': 'person_id_role',
495 'name': 'person_id_active',
499 'name': 'person_id_remarks',
503 'name': 'person_id_passwd',
507 'name': 'person_id_owner_id',
511 'name': 'person_id_lang',
515 'name': 'person_id_no_reset_sent',
519 'name': 'person_id_action_type',
523 'name': 'person_id_project_id',
527 'name': 'person_id_deleted_by',
531 'name': 'person_id_deleted_dt',
538 xtype: 'PagingToolbar',
542 displayMsg : "Displaying Events{0} - {1} of {2}",
543 emptyMsg : "No Events found"
553 select : function (combo, record, index)
555 _this.dategrid.ds.load({});
557 render : function (_self)
559 _this.actionSel = _self;
563 displayField : 'action',
565 emptyText : "Select Action",
566 forceSelection : true,
568 loadingText : "Searching...",
572 qtip : "Select Action",
573 queryParam : 'query[action]',
574 selectOnFocus : true,
575 tpl : '<div class="x-grid-cell-text x-btn button"><b>{action}</b> </div>',
576 triggerAction : 'all',
578 valueField : 'action',
584 beforeload : function (_self, o)
586 o.params = o.params || {};
587 // staff can see all logs, other companies can only see their own.
588 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
589 o.params.company_id = Pman.Login.authUser.company_id;
591 o.params._distinct = 'action';
592 o.params._columns ='action';
596 sortInfo : { field : 'action' , direction : 'ASC' },
601 url : baseURL + '/Roo/Events.php'
606 totalProperty : 'total',
615 'name': 'person_name',
619 'name': 'event_when',
621 'dateFormat': 'Y-m-d'
648 'name': 'person_id_id',
652 'name': 'person_id_office_id',
656 'name': 'person_id_name',
660 'name': 'person_id_phone',
664 'name': 'person_id_fax',
668 'name': 'person_id_email',
672 'name': 'person_id_company_id',
676 'name': 'person_id_role',
680 'name': 'person_id_active',
684 'name': 'person_id_remarks',
688 'name': 'person_id_passwd',
692 'name': 'person_id_owner_id',
696 'name': 'person_id_lang',
700 'name': 'person_id_no_reset_sent',
704 'name': 'person_id_action_type',
708 'name': 'person_id_project_id',
712 'name': 'person_id_deleted_by',
716 'name': 'person_id_deleted_dt',
727 select : function (combo, record, index)
729 _this.dategrid.ds.load({});
731 render : function (_self)
733 _this.affectSel = _self;
737 displayField : 'on_table',
739 emptyText : "Select Affects",
740 forceSelection : true,
742 loadingText : "Searching...",
746 qtip : "Select Action",
747 queryParam : 'query[on_table]',
748 selectOnFocus : true,
749 tpl : '<div class="x-grid-cell-text x-btn button"><b>{on_table}</b> </div>',
750 triggerAction : 'all',
752 valueField : 'action',
758 beforeload : function (_self, o)
760 o.params = o.params || {};
761 // staff can see all logs, other companies can only see their own.
762 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
763 o.params.company_id = Pman.Login.authUser.company_id;
765 o.params._distinct = 'on_table';
766 o.params._columns ='on_table';
770 sortInfo : { field : 'on_table' , direction : 'ASC' },
775 url : baseURL + '/Roo/Events.php'
780 totalProperty : 'total',
789 'name': 'person_name',
793 'name': 'event_when',
795 'dateFormat': 'Y-m-d'
822 'name': 'person_id_id',
826 'name': 'person_id_office_id',
830 'name': 'person_id_name',
834 'name': 'person_id_phone',
838 'name': 'person_id_fax',
842 'name': 'person_id_email',
846 'name': 'person_id_company_id',
850 'name': 'person_id_role',
854 'name': 'person_id_active',
858 'name': 'person_id_remarks',
862 'name': 'person_id_passwd',
866 'name': 'person_id_owner_id',
870 'name': 'person_id_lang',
874 'name': 'person_id_no_reset_sent',
878 'name': 'person_id_action_type',
882 'name': 'person_id_project_id',
886 'name': 'person_id_deleted_by',
890 'name': 'person_id_deleted_dt',
901 xtype: 'ColumnModel',
903 dataIndex : 'on_table',
907 renderer : function(v) {
909 return "Login / Logout / Errors";
911 return String.format('{0}', v);
915 xtype: 'ColumnModel',
918 header : '#Affected',
921 renderer : function(v) { return String.format('{0}', v); }
924 xtype: 'ColumnModel',
930 renderer : function(v) { return String.format('{0}', v); }
939 activate : function() {
940 _this.detailpanel = this;
941 if (_this.detailgrid) {
942 _this.detailgrid.footer.onClick('first');
950 tableName : 'Events',
958 _this.detailgrid = this;
959 //_this.dialog = Pman.Dialog.FILL_IN
960 if (_this.detailpanel.active) {
961 this.footer.onClick('first');
965 autoExpandColumn : 'person_name',
971 beforeload : function (_self, o)
973 if (! _this.dategrid) {
977 o.params = o.params || {};
979 var s = _this.dategrid.selModel.getSelected();
981 _this.detailgrid.view.el.mask("Select a person");
985 o.params.person_id = s.data.person_id;
987 var s = _this.tablegrid.selModel.getSelected();
989 _this.detailgrid.view.el.mask("Select a table");
992 o.params.on_table = s.data.on_table;
994 _this.detailgrid.view.el.unmask();
996 var act = _this.actionSel.getValue();
998 o.params.action = act;
1000 var tbl = _this.affectSel.getValue();
1002 o.params.on_table = tbl;
1006 act = _this.dateFrom.getValue();
1008 o.params['query[from]'] = act.format('Y-m-d');
1010 act = _this.dateTo.getValue();
1012 o.params['query[to]'] = act.format('Y-m-d');
1015 //o.params['query[table_d]'] = 1;
1016 //o.params._columns = 'on_table,qty,uqty';
1022 sortInfo : { field : 'event_when', direction: 'DESC' },
1027 url : baseURL + '/Roo/Events.php'
1030 xtype: 'JsonReader',
1032 totalProperty : 'total',
1041 'name': 'person_name',
1045 'name': 'event_when',
1047 'dateFormat': 'Y-m-d'
1066 'name': 'person_id',
1074 'name': 'person_id_id',
1078 'name': 'person_id_office_id',
1082 'name': 'person_id_name',
1086 'name': 'person_id_phone',
1090 'name': 'person_id_fax',
1094 'name': 'person_id_email',
1098 'name': 'person_id_company_id',
1102 'name': 'person_id_role',
1106 'name': 'person_id_active',
1110 'name': 'person_id_remarks',
1114 'name': 'person_id_passwd',
1118 'name': 'person_id_owner_id',
1122 'name': 'person_id_lang',
1126 'name': 'person_id_no_reset_sent',
1130 'name': 'person_id_action_type',
1134 'name': 'person_id_project_id',
1138 'name': 'person_id_deleted_by',
1142 'name': 'person_id_deleted_dt',
1149 xtype: 'PagingToolbar',
1153 displayMsg : "Displaying Events{0} - {1} of {2}",
1154 emptyMsg : "No Events found"
1158 xtype: 'ColumnModel',
1163 renderer : function(v) { return String.format('{0}', v); }
1166 xtype: 'ColumnModel',
1168 header : 'Event when',
1170 dataIndex : 'event_when',
1171 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1174 xtype: 'ColumnModel',
1176 dataIndex : 'action',
1179 renderer : function(v) { return String.format('{0}', v); }
1182 xtype: 'ColumnModel',
1184 dataIndex : 'ipaddr',
1187 renderer : function(v) { return String.format('{0}', v); }
1190 xtype: 'ColumnModel',
1192 dataIndex : 'on_id',
1195 renderer : function(v) { return String.format('{0}', v); }
1198 xtype: 'ColumnModel',
1202 dataIndex : 'remarks',
1203 renderer : function(v) { return String.format('{0}', v); }
1212 activate : function() {
1213 _this.daypanel = this;
1214 if (_this.daygrid) {
1215 _this.daygrid.footer.onClick('first');
1220 fitContainer : true,
1223 tableName : 'Events',
1224 title : "Daily summary",
1231 _this.daygrid = this;
1232 //_this.dialog = Pman.Dialog.FILL_IN
1233 if (_this.daypanel.active) {
1234 this.footer.onClick('first');
1238 autoExpandColumn : 'person_name',
1244 beforeload : function (_self, o)
1246 if (! _this.dategrid) {
1250 o.params = o.params || {};
1252 var s = _this.dategrid.selModel.getSelected();
1254 _this.detailgrid.view.el.mask("Select a person");
1258 o.params.person_id = s.data.person_id;
1260 var s = _this.tablegrid.selModel.getSelected();
1262 _this.detailgrid.view.el.mask("Select a table");
1265 o.params.on_table = s.data.on_table;
1267 _this.detailgrid.view.el.unmask();
1269 var act = _this.actionSel.getValue();
1271 o.params.action = act;
1273 var tbl = _this.affectSel.getValue();
1275 o.params.on_table = tbl;
1279 act = _this.dateFrom.getValue();
1281 o.params['query[from]'] = act.format('Y-m-d');
1283 act = _this.dateTo.getValue();
1285 o.params['query[to]'] = act.format('Y-m-d');
1288 o.params['query[day_sum]'] = 1;
1289 o.params._columns = 'on_day,qty,uqty';
1295 sortInfo : { field : 'on_day', direction: 'ASC' },
1300 url : baseURL + '/Roo/Events.php'
1303 xtype: 'JsonReader',
1305 totalProperty : 'total',
1314 'name': 'person_name',
1318 'name': 'event_when',
1320 'dateFormat': 'Y-m-d'
1339 'name': 'person_id',
1347 'name': 'person_id_id',
1351 'name': 'person_id_office_id',
1355 'name': 'person_id_name',
1359 'name': 'person_id_phone',
1363 'name': 'person_id_fax',
1367 'name': 'person_id_email',
1371 'name': 'person_id_company_id',
1375 'name': 'person_id_role',
1379 'name': 'person_id_active',
1383 'name': 'person_id_remarks',
1387 'name': 'person_id_passwd',
1391 'name': 'person_id_owner_id',
1395 'name': 'person_id_lang',
1399 'name': 'person_id_no_reset_sent',
1403 'name': 'person_id_action_type',
1407 'name': 'person_id_project_id',
1411 'name': 'person_id_deleted_by',
1415 'name': 'person_id_deleted_dt',
1422 xtype: 'PagingToolbar',
1426 displayMsg : "Displaying Events{0} - {1} of {2}",
1427 emptyMsg : "No Events found"
1431 xtype: 'ColumnModel',
1433 dataIndex : 'on_day',
1434 header : 'Event when',
1437 renderer : function(v) { return String.format('{0}', v ); }
1440 xtype: 'ColumnModel',
1443 header : '#Affected',
1446 renderer : function(v) { return String.format('{0}', v); }
1449 xtype: 'ColumnModel',
1455 renderer : function(v) { return String.format('{0}', v); }
1462 xtype: 'LayoutRegion',
1468 xtype: 'LayoutRegion',
1472 xtype: 'LayoutRegion',
1475 tabPosition : 'top',
1480 this.layout = this.panel.layout;