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)
86 if (! _this.dateFrom) {
89 o.params = o.params || {};
91 var act = _this.actionSel ? _this.actionSel.getValue() : '';
93 o.params.action = act;
95 var tbl = _this.affectSel ? _this.affectSel.getValue() : '';
97 o.params.on_table = tbl;
99 act = _this.dateFrom.getValue();
101 o.params['query[from]'] = act.format('Y-m-d');
103 act = _this.dateTo.getValue();
105 o.params['query[to]'] = act.format('Y-m-d');
110 o.params['query[person_sum]'] = 1;
111 o.params._columns = 'person_id,person_id_name,person_id_email,qty';
112 o.params.limit = 999;
117 sortInfo : { field : 'person_name', direction: 'ASC' },
122 url : baseURL + '/Roo/Events.php'
127 totalProperty : 'total',
136 'name': 'person_name',
140 'name': 'event_when',
142 'dateFormat': 'Y-m-d'
169 'name': 'person_id_id',
173 'name': 'person_id_office_id',
177 'name': 'person_id_name',
181 'name': 'person_id_phone',
185 'name': 'person_id_fax',
189 'name': 'person_id_email',
193 'name': 'person_id_company_id',
197 'name': 'person_id_role',
201 'name': 'person_id_active',
205 'name': 'person_id_remarks',
209 'name': 'person_id_passwd',
213 'name': 'person_id_owner_id',
217 'name': 'person_id_lang',
221 'name': 'person_id_no_reset_sent',
225 'name': 'person_id_action_type',
229 'name': 'person_id_project_id',
233 'name': 'person_id_deleted_by',
237 'name': 'person_id_deleted_dt',
256 render : function (_self)
258 _this.dateFrom = _self;
260 change : function (_self, newValue, oldValue)
262 _this.dategrid.ds.load({});
266 value : (function() { var d = new Date(); return d.format('Y-m-01'); })()
272 render : function (_self)
274 _this.dateTo = _self;
276 change : function (_self, newValue, oldValue)
278 _this.dategrid.ds.load({});
282 value : (function() { var d = new Date();d = d.add(Date.MONTH, 1) ; return d.format('Y-m-01'); })()
288 xtype: 'ColumnModel',
290 dataIndex : 'person_id_name',
291 header : 'Person name',
294 renderer : function(v,x,r) {
295 return String.format('{0} <<a href="mailto:{1}">{1}</a>>', v, r.data.person_id_email);
299 xtype: 'ColumnModel',
302 header : '#Affected',
305 renderer : function(v) { return String.format('{0}', v); }
308 xtype: 'ColumnModel',
314 renderer : function(v) { return String.format('{0}', v); }
323 activate : function() {
324 _this.tablepanel = this;
325 if (_this.tablegrid) {
326 _this.tablegrid.footer.onClick('first');
334 tableName : 'Events',
342 _this.tablegrid = this;
343 //_this.dialog = Pman.Dialog.FILL_IN
344 if (_this.tablepanel.active) {
345 this.footer.onClick('first');
348 rowclick : function (_self, rowIndex, e)
351 _this.panel.layout.getRegion('east').getActivePanel().grid.footer.onClick('first');
354 autoExpandColumn : 'person_name',
360 beforeload : function (_self, o)
362 if (! _this.dategrid) {
366 var s = _this.dategrid.selModel.getSelected();
368 _this.tablegrid.view.el.mask("Select a person");
371 _this.tablegrid.view.el.unmask();
373 o.params = o.params || {};
374 var act = _this.actionSel.getValue();
376 o.params.action = act;
378 var tbl = _this.affectSel.getValue();
380 o.params.on_table = tbl;
383 act = _this.dateFrom.getValue();
385 o.params['query[from]'] = act.format('Y-m-d');
387 act = _this.dateTo.getValue();
389 o.params['query[to]'] = act.format('Y-m-d');
391 o.params.person_id = s.data.person_id;
392 o.params['query[table_sum]'] = 1;
393 o.params._columns = 'on_table,qty,uqty';
399 sortInfo : { field : 'on_table', direction: 'ASC' },
404 url : baseURL + '/Roo/Events.php'
409 totalProperty : 'total',
418 'name': 'person_name',
422 'name': 'event_when',
424 'dateFormat': 'Y-m-d'
451 'name': 'person_id_id',
455 'name': 'person_id_office_id',
459 'name': 'person_id_name',
463 'name': 'person_id_phone',
467 'name': 'person_id_fax',
471 'name': 'person_id_email',
475 'name': 'person_id_company_id',
479 'name': 'person_id_role',
483 'name': 'person_id_active',
487 'name': 'person_id_remarks',
491 'name': 'person_id_passwd',
495 'name': 'person_id_owner_id',
499 'name': 'person_id_lang',
503 'name': 'person_id_no_reset_sent',
507 'name': 'person_id_action_type',
511 'name': 'person_id_project_id',
515 'name': 'person_id_deleted_by',
519 'name': 'person_id_deleted_dt',
526 xtype: 'PagingToolbar',
530 displayMsg : "Displaying Events{0} - {1} of {2}",
531 emptyMsg : "No Events found"
541 select : function (combo, record, index)
543 _this.dategrid.ds.load({});
545 render : function (_self)
547 _this.actionSel = _self;
551 displayField : 'action',
553 emptyText : "Select Action",
554 forceSelection : true,
556 loadingText : "Searching...",
560 qtip : "Select Action",
561 queryParam : 'query[action]',
562 selectOnFocus : true,
563 tpl : '<div class="x-grid-cell-text x-btn button"><b>{action}</b> </div>',
564 triggerAction : 'all',
566 valueField : 'action',
572 beforeload : function (_self, o)
574 o.params = o.params || {};
575 // staff can see all logs, other companies can only see their own.
576 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
577 o.params.company_id = Pman.Login.authUser.company_id;
579 o.params._distinct = 'action';
580 o.params._columns ='action';
584 sortInfo : { field : 'action' , direction : 'ASC' },
589 url : baseURL + '/Roo/Events.php'
594 totalProperty : 'total',
603 'name': 'person_name',
607 'name': 'event_when',
609 'dateFormat': 'Y-m-d'
636 'name': 'person_id_id',
640 'name': 'person_id_office_id',
644 'name': 'person_id_name',
648 'name': 'person_id_phone',
652 'name': 'person_id_fax',
656 'name': 'person_id_email',
660 'name': 'person_id_company_id',
664 'name': 'person_id_role',
668 'name': 'person_id_active',
672 'name': 'person_id_remarks',
676 'name': 'person_id_passwd',
680 'name': 'person_id_owner_id',
684 'name': 'person_id_lang',
688 'name': 'person_id_no_reset_sent',
692 'name': 'person_id_action_type',
696 'name': 'person_id_project_id',
700 'name': 'person_id_deleted_by',
704 'name': 'person_id_deleted_dt',
715 select : function (combo, record, index)
717 _this.dategrid.ds.load({});
719 render : function (_self)
721 _this.affectSel = _self;
725 displayField : 'on_table',
727 emptyText : "Select Affects",
728 forceSelection : true,
730 loadingText : "Searching...",
734 qtip : "Select Action",
735 queryParam : 'query[on_table]',
736 selectOnFocus : true,
737 tpl : '<div class="x-grid-cell-text x-btn button"><b>{on_table}</b> </div>',
738 triggerAction : 'all',
740 valueField : 'action',
746 beforeload : function (_self, o)
748 o.params = o.params || {};
749 // staff can see all logs, other companies can only see their own.
750 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
751 o.params.company_id = Pman.Login.authUser.company_id;
753 o.params._distinct = 'on_table';
754 o.params._columns ='on_table';
758 sortInfo : { field : 'on_table' , direction : 'ASC' },
763 url : baseURL + '/Roo/Events.php'
768 totalProperty : 'total',
777 'name': 'person_name',
781 'name': 'event_when',
783 'dateFormat': 'Y-m-d'
810 'name': 'person_id_id',
814 'name': 'person_id_office_id',
818 'name': 'person_id_name',
822 'name': 'person_id_phone',
826 'name': 'person_id_fax',
830 'name': 'person_id_email',
834 'name': 'person_id_company_id',
838 'name': 'person_id_role',
842 'name': 'person_id_active',
846 'name': 'person_id_remarks',
850 'name': 'person_id_passwd',
854 'name': 'person_id_owner_id',
858 'name': 'person_id_lang',
862 'name': 'person_id_no_reset_sent',
866 'name': 'person_id_action_type',
870 'name': 'person_id_project_id',
874 'name': 'person_id_deleted_by',
878 'name': 'person_id_deleted_dt',
889 xtype: 'ColumnModel',
891 dataIndex : 'on_table',
895 renderer : function(v) { return String.format('{0}', v); }
898 xtype: 'ColumnModel',
901 header : '#Affected',
904 renderer : function(v) { return String.format('{0}', v); }
907 xtype: 'ColumnModel',
913 renderer : function(v) { return String.format('{0}', v); }
922 activate : function() {
923 _this.detailpanel = this;
924 if (_this.detailgrid) {
925 _this.detailgrid.footer.onClick('first');
933 tableName : 'Events',
941 _this.detailgrid = this;
942 //_this.dialog = Pman.Dialog.FILL_IN
943 if (_this.detailpanel.active) {
944 this.footer.onClick('first');
948 autoExpandColumn : 'person_name',
954 beforeload : function (_self, o)
956 if (! _this.dategrid) {
960 o.params = o.params || {};
962 var s = _this.dategrid.selModel.getSelected();
964 _this.detailgrid.view.el.mask("Select a person");
968 o.params.person_id = s.data.person_id;
970 var s = _this.tablegrid.selModel.getSelected();
972 _this.detailgrid.view.el.mask("Select a table");
975 o.params.on_table = s.data.on_table;
977 _this.detailgrid.view.el.unmask();
979 var act = _this.actionSel.getValue();
981 o.params.action = act;
983 var tbl = _this.affectSel.getValue();
985 o.params.on_table = tbl;
989 act = _this.dateFrom.getValue();
991 o.params['query[from]'] = act.format('Y-m-d');
993 act = _this.dateTo.getValue();
995 o.params['query[to]'] = act.format('Y-m-d');
998 //o.params['query[table_d]'] = 1;
999 //o.params._columns = 'on_table,qty,uqty';
1005 sortInfo : { field : 'event_when', direction: 'DESC' },
1010 url : baseURL + '/Roo/Events.php'
1013 xtype: 'JsonReader',
1015 totalProperty : 'total',
1024 'name': 'person_name',
1028 'name': 'event_when',
1030 'dateFormat': 'Y-m-d'
1049 'name': 'person_id',
1057 'name': 'person_id_id',
1061 'name': 'person_id_office_id',
1065 'name': 'person_id_name',
1069 'name': 'person_id_phone',
1073 'name': 'person_id_fax',
1077 'name': 'person_id_email',
1081 'name': 'person_id_company_id',
1085 'name': 'person_id_role',
1089 'name': 'person_id_active',
1093 'name': 'person_id_remarks',
1097 'name': 'person_id_passwd',
1101 'name': 'person_id_owner_id',
1105 'name': 'person_id_lang',
1109 'name': 'person_id_no_reset_sent',
1113 'name': 'person_id_action_type',
1117 'name': 'person_id_project_id',
1121 'name': 'person_id_deleted_by',
1125 'name': 'person_id_deleted_dt',
1132 xtype: 'PagingToolbar',
1136 displayMsg : "Displaying Events{0} - {1} of {2}",
1137 emptyMsg : "No Events found"
1141 xtype: 'ColumnModel',
1146 renderer : function(v) { return String.format('{0}', v); }
1149 xtype: 'ColumnModel',
1151 header : 'Event when',
1153 dataIndex : 'event_when',
1154 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1157 xtype: 'ColumnModel',
1159 dataIndex : 'action',
1162 renderer : function(v) { return String.format('{0}', v); }
1165 xtype: 'ColumnModel',
1167 dataIndex : 'ipaddr',
1170 renderer : function(v) { return String.format('{0}', v); }
1173 xtype: 'ColumnModel',
1175 dataIndex : 'on_id',
1178 renderer : function(v) { return String.format('{0}', v); }
1181 xtype: 'ColumnModel',
1185 dataIndex : 'remarks',
1186 renderer : function(v) { return String.format('{0}', v); }
1195 activate : function() {
1196 _this.daypanel = this;
1197 if (_this.daygrid) {
1198 _this.daygrid.footer.onClick('first');
1203 fitContainer : true,
1206 tableName : 'Events',
1207 title : "Daily summary",
1214 _this.daygrid = this;
1215 //_this.dialog = Pman.Dialog.FILL_IN
1216 if (_this.daypanel.active) {
1217 this.footer.onClick('first');
1221 autoExpandColumn : 'person_name',
1227 beforeload : function (_self, o)
1229 if (! _this.dategrid) {
1233 o.params = o.params || {};
1235 var s = _this.dategrid.selModel.getSelected();
1237 _this.detailgrid.view.el.mask("Select a person");
1241 o.params.person_id = s.data.person_id;
1243 var s = _this.tablegrid.selModel.getSelected();
1245 _this.detailgrid.view.el.mask("Select a table");
1248 o.params.on_table = s.data.on_table;
1250 _this.detailgrid.view.el.unmask();
1252 var act = _this.actionSel.getValue();
1254 o.params.action = act;
1256 var tbl = _this.affectSel.getValue();
1258 o.params.on_table = tbl;
1262 act = _this.dateFrom.getValue();
1264 o.params['query[from]'] = act.format('Y-m-d');
1266 act = _this.dateTo.getValue();
1268 o.params['query[to]'] = act.format('Y-m-d');
1271 o.params['query[day_sum]'] = 1;
1272 o.params._columns = 'on_day,qty,uqty';
1278 sortInfo : { field : 'on_day', direction: 'ASC' },
1283 url : baseURL + '/Roo/Events.php'
1286 xtype: 'JsonReader',
1288 totalProperty : 'total',
1297 'name': 'person_name',
1301 'name': 'event_when',
1303 'dateFormat': 'Y-m-d'
1322 'name': 'person_id',
1330 'name': 'person_id_id',
1334 'name': 'person_id_office_id',
1338 'name': 'person_id_name',
1342 'name': 'person_id_phone',
1346 'name': 'person_id_fax',
1350 'name': 'person_id_email',
1354 'name': 'person_id_company_id',
1358 'name': 'person_id_role',
1362 'name': 'person_id_active',
1366 'name': 'person_id_remarks',
1370 'name': 'person_id_passwd',
1374 'name': 'person_id_owner_id',
1378 'name': 'person_id_lang',
1382 'name': 'person_id_no_reset_sent',
1386 'name': 'person_id_action_type',
1390 'name': 'person_id_project_id',
1394 'name': 'person_id_deleted_by',
1398 'name': 'person_id_deleted_dt',
1405 xtype: 'PagingToolbar',
1409 displayMsg : "Displaying Events{0} - {1} of {2}",
1410 emptyMsg : "No Events found"
1414 xtype: 'ColumnModel',
1416 dataIndex : 'on_day',
1417 header : 'Event when',
1420 renderer : function(v) { return String.format('{0}', v ); }
1423 xtype: 'ColumnModel',
1426 header : '#Affected',
1429 renderer : function(v) { return String.format('{0}', v); }
1432 xtype: 'ColumnModel',
1438 renderer : function(v) { return String.format('{0}', v); }
1445 xtype: 'LayoutRegion',
1451 xtype: 'LayoutRegion',
1455 xtype: 'LayoutRegion',
1458 tabPosition : 'top',
1463 this.layout = this.panel.layout;