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 var s = _this.dategrid.selModel.getSelected();
373 _this.tablegrid.view.el.mask("Select a person");
376 _this.tablegrid.view.el.unmask();
378 o.params = o.params || {};
379 var act = _this.actionSel.getValue();
381 o.params.action = act;
383 var tbl = _this.affectSel.getValue();
385 o.params.on_table = tbl;
388 act = _this.dateFrom.getValue();
390 o.params['query[from]'] = act.format('Y-m-d');
392 act = _this.dateTo.getValue();
394 o.params['query[to]'] = act.format('Y-m-d');
396 o.params.person_id = s.data.person_id;
397 o.params['query[table_sum]'] = 1;
398 o.params._columns = 'on_table,qty,uqty';
404 sortInfo : { field : 'on_table', direction: 'ASC' },
409 url : baseURL + '/Roo/Events.php'
414 totalProperty : 'total',
423 'name': 'person_name',
427 'name': 'event_when',
429 'dateFormat': 'Y-m-d'
456 'name': 'person_id_id',
460 'name': 'person_id_office_id',
464 'name': 'person_id_name',
468 'name': 'person_id_phone',
472 'name': 'person_id_fax',
476 'name': 'person_id_email',
480 'name': 'person_id_company_id',
484 'name': 'person_id_role',
488 'name': 'person_id_active',
492 'name': 'person_id_remarks',
496 'name': 'person_id_passwd',
500 'name': 'person_id_owner_id',
504 'name': 'person_id_lang',
508 'name': 'person_id_no_reset_sent',
512 'name': 'person_id_action_type',
516 'name': 'person_id_project_id',
520 'name': 'person_id_deleted_by',
524 'name': 'person_id_deleted_dt',
531 xtype: 'PagingToolbar',
535 displayMsg : "Displaying Events{0} - {1} of {2}",
536 emptyMsg : "No Events found"
546 select : function (combo, record, index)
548 _this.dategrid.ds.load({});
550 render : function (_self)
552 _this.actionSel = _self;
556 displayField : 'action',
558 emptyText : "Select Action",
559 forceSelection : true,
561 loadingText : "Searching...",
565 qtip : "Select Action",
566 queryParam : 'query[action]',
567 selectOnFocus : true,
568 tpl : '<div class="x-grid-cell-text x-btn button"><b>{action}</b> </div>',
569 triggerAction : 'all',
571 valueField : 'action',
577 beforeload : function (_self, o)
579 o.params = o.params || {};
580 // staff can see all logs, other companies can only see their own.
581 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
582 o.params.company_id = Pman.Login.authUser.company_id;
584 o.params._distinct = 'action';
585 o.params._columns ='action';
589 sortInfo : { field : 'action' , direction : 'ASC' },
594 url : baseURL + '/Roo/Events.php'
599 totalProperty : 'total',
608 'name': 'person_name',
612 'name': 'event_when',
614 'dateFormat': 'Y-m-d'
641 'name': 'person_id_id',
645 'name': 'person_id_office_id',
649 'name': 'person_id_name',
653 'name': 'person_id_phone',
657 'name': 'person_id_fax',
661 'name': 'person_id_email',
665 'name': 'person_id_company_id',
669 'name': 'person_id_role',
673 'name': 'person_id_active',
677 'name': 'person_id_remarks',
681 'name': 'person_id_passwd',
685 'name': 'person_id_owner_id',
689 'name': 'person_id_lang',
693 'name': 'person_id_no_reset_sent',
697 'name': 'person_id_action_type',
701 'name': 'person_id_project_id',
705 'name': 'person_id_deleted_by',
709 'name': 'person_id_deleted_dt',
720 select : function (combo, record, index)
722 _this.dategrid.ds.load({});
724 render : function (_self)
726 _this.affectSel = _self;
730 displayField : 'on_table',
732 emptyText : "Select Affects",
733 forceSelection : true,
735 loadingText : "Searching...",
739 qtip : "Select Action",
740 queryParam : 'query[on_table]',
741 selectOnFocus : true,
742 tpl : '<div class="x-grid-cell-text x-btn button"><b>{on_table}</b> </div>',
743 triggerAction : 'all',
745 valueField : 'action',
751 beforeload : function (_self, o)
753 o.params = o.params || {};
754 // staff can see all logs, other companies can only see their own.
755 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
756 o.params.company_id = Pman.Login.authUser.company_id;
758 o.params._distinct = 'on_table';
759 o.params._columns ='on_table';
763 sortInfo : { field : 'on_table' , direction : 'ASC' },
768 url : baseURL + '/Roo/Events.php'
773 totalProperty : 'total',
782 'name': 'person_name',
786 'name': 'event_when',
788 'dateFormat': 'Y-m-d'
815 'name': 'person_id_id',
819 'name': 'person_id_office_id',
823 'name': 'person_id_name',
827 'name': 'person_id_phone',
831 'name': 'person_id_fax',
835 'name': 'person_id_email',
839 'name': 'person_id_company_id',
843 'name': 'person_id_role',
847 'name': 'person_id_active',
851 'name': 'person_id_remarks',
855 'name': 'person_id_passwd',
859 'name': 'person_id_owner_id',
863 'name': 'person_id_lang',
867 'name': 'person_id_no_reset_sent',
871 'name': 'person_id_action_type',
875 'name': 'person_id_project_id',
879 'name': 'person_id_deleted_by',
883 'name': 'person_id_deleted_dt',
894 xtype: 'ColumnModel',
896 dataIndex : 'on_table',
900 renderer : function(v) { return String.format('{0}', v); }
903 xtype: 'ColumnModel',
906 header : '#Affected',
909 renderer : function(v) { return String.format('{0}', v); }
912 xtype: 'ColumnModel',
918 renderer : function(v) { return String.format('{0}', v); }
927 activate : function() {
928 _this.detailpanel = this;
929 if (_this.detailgrid) {
930 _this.detailgrid.footer.onClick('first');
938 tableName : 'Events',
946 _this.detailgrid = this;
947 //_this.dialog = Pman.Dialog.FILL_IN
948 if (_this.detailpanel.active) {
949 this.footer.onClick('first');
953 autoExpandColumn : 'person_name',
959 beforeload : function (_self, o)
961 if (! _this.dategrid) {
965 o.params = o.params || {};
967 var s = _this.dategrid.selModel.getSelected();
969 _this.detailgrid.view.el.mask("Select a person");
973 o.params.person_id = s.data.person_id;
975 var s = _this.tablegrid.selModel.getSelected();
977 _this.detailgrid.view.el.mask("Select a table");
980 o.params.on_table = s.data.on_table;
982 _this.detailgrid.view.el.unmask();
984 var act = _this.actionSel.getValue();
986 o.params.action = act;
988 var tbl = _this.affectSel.getValue();
990 o.params.on_table = tbl;
994 act = _this.dateFrom.getValue();
996 o.params['query[from]'] = act.format('Y-m-d');
998 act = _this.dateTo.getValue();
1000 o.params['query[to]'] = act.format('Y-m-d');
1003 //o.params['query[table_d]'] = 1;
1004 //o.params._columns = 'on_table,qty,uqty';
1010 sortInfo : { field : 'event_when', direction: 'DESC' },
1015 url : baseURL + '/Roo/Events.php'
1018 xtype: 'JsonReader',
1020 totalProperty : 'total',
1029 'name': 'person_name',
1033 'name': 'event_when',
1035 'dateFormat': 'Y-m-d'
1054 'name': 'person_id',
1062 'name': 'person_id_id',
1066 'name': 'person_id_office_id',
1070 'name': 'person_id_name',
1074 'name': 'person_id_phone',
1078 'name': 'person_id_fax',
1082 'name': 'person_id_email',
1086 'name': 'person_id_company_id',
1090 'name': 'person_id_role',
1094 'name': 'person_id_active',
1098 'name': 'person_id_remarks',
1102 'name': 'person_id_passwd',
1106 'name': 'person_id_owner_id',
1110 'name': 'person_id_lang',
1114 'name': 'person_id_no_reset_sent',
1118 'name': 'person_id_action_type',
1122 'name': 'person_id_project_id',
1126 'name': 'person_id_deleted_by',
1130 'name': 'person_id_deleted_dt',
1137 xtype: 'PagingToolbar',
1141 displayMsg : "Displaying Events{0} - {1} of {2}",
1142 emptyMsg : "No Events found"
1146 xtype: 'ColumnModel',
1151 renderer : function(v) { return String.format('{0}', v); }
1154 xtype: 'ColumnModel',
1156 header : 'Event when',
1158 dataIndex : 'event_when',
1159 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1162 xtype: 'ColumnModel',
1164 dataIndex : 'action',
1167 renderer : function(v) { return String.format('{0}', v); }
1170 xtype: 'ColumnModel',
1172 dataIndex : 'ipaddr',
1175 renderer : function(v) { return String.format('{0}', v); }
1178 xtype: 'ColumnModel',
1180 dataIndex : 'on_id',
1183 renderer : function(v) { return String.format('{0}', v); }
1186 xtype: 'ColumnModel',
1190 dataIndex : 'remarks',
1191 renderer : function(v) { return String.format('{0}', v); }
1200 activate : function() {
1201 _this.daypanel = this;
1202 if (_this.daygrid) {
1203 _this.daygrid.footer.onClick('first');
1208 fitContainer : true,
1211 tableName : 'Events',
1212 title : "Daily summary",
1219 _this.daygrid = this;
1220 //_this.dialog = Pman.Dialog.FILL_IN
1221 if (_this.daypanel.active) {
1222 this.footer.onClick('first');
1226 autoExpandColumn : 'person_name',
1232 beforeload : function (_self, o)
1234 if (! _this.dategrid) {
1238 o.params = o.params || {};
1240 var s = _this.dategrid.selModel.getSelected();
1242 _this.detailgrid.view.el.mask("Select a person");
1246 o.params.person_id = s.data.person_id;
1248 var s = _this.tablegrid.selModel.getSelected();
1250 _this.detailgrid.view.el.mask("Select a table");
1253 o.params.on_table = s.data.on_table;
1255 _this.detailgrid.view.el.unmask();
1257 var act = _this.actionSel.getValue();
1259 o.params.action = act;
1261 var tbl = _this.affectSel.getValue();
1263 o.params.on_table = tbl;
1267 act = _this.dateFrom.getValue();
1269 o.params['query[from]'] = act.format('Y-m-d');
1271 act = _this.dateTo.getValue();
1273 o.params['query[to]'] = act.format('Y-m-d');
1276 o.params['query[day_sum]'] = 1;
1277 o.params._columns = 'on_day,qty,uqty';
1283 sortInfo : { field : 'on_day', direction: 'ASC' },
1288 url : baseURL + '/Roo/Events.php'
1291 xtype: 'JsonReader',
1293 totalProperty : 'total',
1302 'name': 'person_name',
1306 'name': 'event_when',
1308 'dateFormat': 'Y-m-d'
1327 'name': 'person_id',
1335 'name': 'person_id_id',
1339 'name': 'person_id_office_id',
1343 'name': 'person_id_name',
1347 'name': 'person_id_phone',
1351 'name': 'person_id_fax',
1355 'name': 'person_id_email',
1359 'name': 'person_id_company_id',
1363 'name': 'person_id_role',
1367 'name': 'person_id_active',
1371 'name': 'person_id_remarks',
1375 'name': 'person_id_passwd',
1379 'name': 'person_id_owner_id',
1383 'name': 'person_id_lang',
1387 'name': 'person_id_no_reset_sent',
1391 'name': 'person_id_action_type',
1395 'name': 'person_id_project_id',
1399 'name': 'person_id_deleted_by',
1403 'name': 'person_id_deleted_dt',
1410 xtype: 'PagingToolbar',
1414 displayMsg : "Displaying Events{0} - {1} of {2}",
1415 emptyMsg : "No Events found"
1419 xtype: 'ColumnModel',
1421 dataIndex : 'on_day',
1422 header : 'Event when',
1425 renderer : function(v) { return String.format('{0}', v ); }
1428 xtype: 'ColumnModel',
1431 header : '#Affected',
1434 renderer : function(v) { return String.format('{0}', v); }
1437 xtype: 'ColumnModel',
1443 renderer : function(v) { return String.format('{0}', v); }
1450 xtype: 'LayoutRegion',
1456 xtype: 'LayoutRegion',
1460 xtype: 'LayoutRegion',
1463 tabPosition : 'top',
1468 this.layout = this.panel.layout;