1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
5 Pman.Tab.AdminLogDrill = new Roo.XComponent({
6 part : ["Admin","LogDrill"],
7 order : '003-Pman.Tab.AdminLogDrill',
9 parent : 'Pman.Tab.AdminLogs',
10 name : "Pman.Tab.AdminLogDrill",
18 xtype: 'NestedLayoutPanel',
22 title : "Event Drilldown",
36 render : function (_self)
38 _this.dateFrom = _self;
40 change : function (_self, newValue, oldValue)
42 _this.dategrid.ds.load({});
46 value : (function() { var d = new Date(); return d.format('Y-m-01'); })()
52 render : function (_self)
56 change : function (_self, newValue, oldValue)
58 _this.dategrid.ds.load({});
62 value : (function() { var d = new Date();d = d.add(Date.MONTH, 1) ; return d.format('Y-m-01'); })()
67 xtype: 'BorderLayout',
74 activate : function() {
75 _this.datepanel = this;
77 _this.dategrid.ds.load({});
93 _this.dategrid = this;
94 //_this.dialog = Pman.Dialog.FILL_IN
95 if (_this.panel.active) {
99 rowclick : function (_self, rowIndex, e)
101 _this.tablegrid.footer.onClick('first');
104 autoExpandColumn : 'person_name',
110 beforeload : function (_self, o)
114 if (! _this.dateFrom) {
119 _this.tablegrid.ds.removeAll();
120 _this.panel.layout.getRegion('east').getActivePanel().grid.ds.removeAll();
125 o.params = o.params || {};
127 var act = _this.actionSel ? _this.actionSel.getValue() : '';
129 o.params.action = act;
131 var tbl = _this.affectSel ? _this.affectSel.getValue() : '';
133 o.params.on_table = tbl;
135 act = _this.dateFrom.getValue();
137 o.params['query[from]'] = act.format('Y-m-d');
139 act = _this.dateTo.getValue();
141 o.params['query[to]'] = act.format('Y-m-d');
146 o.params['query[person_sum]'] = 1;
147 o.params._columns = 'person_id,person_id_name,person_id_email,qty,uqty';
148 o.params.limit = 999;
153 sortInfo : { field : 'person_name', direction: 'ASC' },
158 url : baseURL + '/Roo/Events.php'
163 totalProperty : 'total',
172 'name': 'person_name',
176 'name': 'event_when',
178 'dateFormat': 'Y-m-d'
205 'name': 'person_id_id',
209 'name': 'person_id_office_id',
213 'name': 'person_id_name',
217 'name': 'person_id_phone',
221 'name': 'person_id_fax',
225 'name': 'person_id_email',
229 'name': 'person_id_company_id',
233 'name': 'person_id_role',
237 'name': 'person_id_active',
241 'name': 'person_id_remarks',
245 'name': 'person_id_passwd',
249 'name': 'person_id_owner_id',
253 'name': 'person_id_lang',
257 'name': 'person_id_no_reset_sent',
261 'name': 'person_id_action_type',
265 'name': 'person_id_project_id',
269 'name': 'person_id_deleted_by',
273 'name': 'person_id_deleted_dt',
281 xtype: 'ColumnModel',
283 dataIndex : 'person_id_name',
284 header : 'Person name',
287 renderer : function(v,x,r) {
288 return String.format('{0} <<a href="mailto:{1}">{1}</a>>', v, r.data.person_id_email);
292 xtype: 'ColumnModel',
295 header : '#Affected',
298 renderer : function(v) { return String.format('{0}', v); }
301 xtype: 'ColumnModel',
307 renderer : function(v) { return String.format('{0}', v); }
316 activate : function() {
317 _this.tablepanel = this;
318 if (_this.tablegrid) {
319 _this.tablegrid.footer.onClick('first');
327 tableName : 'Events',
335 _this.tablegrid = this;
336 //_this.dialog = Pman.Dialog.FILL_IN
337 if (_this.tablepanel.active) {
338 this.footer.onClick('first');
341 rowclick : function (_self, rowIndex, e)
344 _this.panel.layout.getRegion('east').getActivePanel().grid.footer.onClick('first');
347 autoExpandColumn : 'person_name',
353 beforeload : function (_self, o)
355 if (! _this.dategrid) {
359 _this.panel.layout.getRegion('east').getActivePanel().grid.ds.removeAll();
365 var s = _this.dategrid.selModel.getSelected();
367 _this.tablegrid.view.el.mask("Select a person");
370 _this.tablegrid.view.el.unmask();
372 o.params = o.params || {};
373 var act = _this.actionSel.getValue();
375 o.params.action = act;
377 var tbl = _this.affectSel.getValue();
379 o.params.on_table = tbl;
382 act = _this.dateFrom.getValue();
384 o.params['query[from]'] = act.format('Y-m-d');
386 act = _this.dateTo.getValue();
388 o.params['query[to]'] = act.format('Y-m-d');
390 o.params.person_id = s.data.person_id;
391 o.params['query[table_sum]'] = 1;
392 o.params._columns = 'on_table,qty,uqty';
398 sortInfo : { field : 'on_table', direction: 'ASC' },
403 url : baseURL + '/Roo/Events.php'
408 totalProperty : 'total',
417 'name': 'person_name',
421 'name': 'event_when',
423 'dateFormat': 'Y-m-d'
450 'name': 'person_id_id',
454 'name': 'person_id_office_id',
458 'name': 'person_id_name',
462 'name': 'person_id_phone',
466 'name': 'person_id_fax',
470 'name': 'person_id_email',
474 'name': 'person_id_company_id',
478 'name': 'person_id_role',
482 'name': 'person_id_active',
486 'name': 'person_id_remarks',
490 'name': 'person_id_passwd',
494 'name': 'person_id_owner_id',
498 'name': 'person_id_lang',
502 'name': 'person_id_no_reset_sent',
506 'name': 'person_id_action_type',
510 'name': 'person_id_project_id',
514 'name': 'person_id_deleted_by',
518 'name': 'person_id_deleted_dt',
525 xtype: 'PagingToolbar',
529 displayMsg : "Displaying Events{0} - {1} of {2}",
530 emptyMsg : "No Events found"
540 select : function (combo, record, index)
542 _this.dategrid.ds.load({});
544 render : function (_self)
546 _this.actionSel = _self;
550 displayField : 'action',
552 emptyText : "Select Action",
553 forceSelection : true,
555 loadingText : "Searching...",
559 qtip : "Select Action",
560 queryParam : 'query[action]',
561 selectOnFocus : true,
562 tpl : '<div class="x-grid-cell-text x-btn button"><b>{action}</b> </div>',
563 triggerAction : 'all',
565 valueField : 'action',
571 beforeload : function (_self, o)
573 o.params = o.params || {};
574 // staff can see all logs, other companies can only see their own.
575 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
576 o.params.company_id = Pman.Login.authUser.company_id;
578 o.params._distinct = 'action';
579 o.params._columns ='action';
583 sortInfo : { field : 'action' , direction : 'ASC' },
588 url : baseURL + '/Roo/Events.php'
593 totalProperty : 'total',
602 'name': 'person_name',
606 'name': 'event_when',
608 'dateFormat': 'Y-m-d'
635 'name': 'person_id_id',
639 'name': 'person_id_office_id',
643 'name': 'person_id_name',
647 'name': 'person_id_phone',
651 'name': 'person_id_fax',
655 'name': 'person_id_email',
659 'name': 'person_id_company_id',
663 'name': 'person_id_role',
667 'name': 'person_id_active',
671 'name': 'person_id_remarks',
675 'name': 'person_id_passwd',
679 'name': 'person_id_owner_id',
683 'name': 'person_id_lang',
687 'name': 'person_id_no_reset_sent',
691 'name': 'person_id_action_type',
695 'name': 'person_id_project_id',
699 'name': 'person_id_deleted_by',
703 'name': 'person_id_deleted_dt',
714 select : function (combo, record, index)
716 _this.dategrid.ds.load({});
718 render : function (_self)
720 _this.affectSel = _self;
724 displayField : 'on_table',
726 emptyText : "Select Affects",
727 forceSelection : true,
729 loadingText : "Searching...",
733 qtip : "Select Action",
734 queryParam : 'query[on_table]',
735 selectOnFocus : true,
736 tpl : '<div class="x-grid-cell-text x-btn button"><b>{on_table}</b> </div>',
737 triggerAction : 'all',
739 valueField : 'action',
745 beforeload : function (_self, o)
747 o.params = o.params || {};
748 // staff can see all logs, other companies can only see their own.
749 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
750 o.params.company_id = Pman.Login.authUser.company_id;
752 o.params._distinct = 'on_table';
753 o.params._columns ='on_table';
757 sortInfo : { field : 'on_table' , direction : 'ASC' },
762 url : baseURL + '/Roo/Events.php'
767 totalProperty : 'total',
776 'name': 'person_name',
780 'name': 'event_when',
782 'dateFormat': 'Y-m-d'
809 'name': 'person_id_id',
813 'name': 'person_id_office_id',
817 'name': 'person_id_name',
821 'name': 'person_id_phone',
825 'name': 'person_id_fax',
829 'name': 'person_id_email',
833 'name': 'person_id_company_id',
837 'name': 'person_id_role',
841 'name': 'person_id_active',
845 'name': 'person_id_remarks',
849 'name': 'person_id_passwd',
853 'name': 'person_id_owner_id',
857 'name': 'person_id_lang',
861 'name': 'person_id_no_reset_sent',
865 'name': 'person_id_action_type',
869 'name': 'person_id_project_id',
873 'name': 'person_id_deleted_by',
877 'name': 'person_id_deleted_dt',
888 xtype: 'ColumnModel',
890 dataIndex : 'on_table',
894 renderer : function(v) {
896 return "Login / Logout / Errors";
898 return String.format('{0}', v);
902 xtype: 'ColumnModel',
905 header : '#Affected',
908 renderer : function(v) { return String.format('{0}', v); }
911 xtype: 'ColumnModel',
917 renderer : function(v) { return String.format('{0}', v); }
926 activate : function() {
927 _this.detailpanel = this;
928 if (_this.detailgrid) {
929 _this.detailgrid.footer.onClick('first');
937 tableName : 'Events',
945 _this.detailgrid = this;
946 //_this.dialog = Pman.Dialog.FILL_IN
947 if (_this.detailpanel.active) {
948 this.footer.onClick('first');
952 autoExpandColumn : 'person_name',
958 beforeload : function (_self, o)
960 if (! _this.dategrid) {
964 o.params = o.params || {};
966 var s = _this.dategrid.selModel.getSelected();
968 _this.detailgrid.view.el.mask("Select a person");
972 o.params.person_id = s.data.person_id;
974 var s = _this.tablegrid.selModel.getSelected();
976 _this.detailgrid.view.el.mask("Select a table");
979 o.params.on_table = s.data.on_table;
981 _this.detailgrid.view.el.unmask();
983 var act = _this.actionSel.getValue();
985 o.params.action = act;
987 var tbl = _this.affectSel.getValue();
989 o.params.on_table = tbl;
993 act = _this.dateFrom.getValue();
995 o.params['query[from]'] = act.format('Y-m-d');
997 act = _this.dateTo.getValue();
999 o.params['query[to]'] = act.format('Y-m-d');
1002 //o.params['query[table_d]'] = 1;
1003 //o.params._columns = 'on_table,qty,uqty';
1009 sortInfo : { field : 'event_when', direction: 'DESC' },
1014 url : baseURL + '/Roo/Events.php'
1017 xtype: 'JsonReader',
1019 totalProperty : 'total',
1028 'name': 'person_name',
1032 'name': 'event_when',
1034 'dateFormat': 'Y-m-d'
1053 'name': 'person_id',
1061 'name': 'person_id_id',
1065 'name': 'person_id_office_id',
1069 'name': 'person_id_name',
1073 'name': 'person_id_phone',
1077 'name': 'person_id_fax',
1081 'name': 'person_id_email',
1085 'name': 'person_id_company_id',
1089 'name': 'person_id_role',
1093 'name': 'person_id_active',
1097 'name': 'person_id_remarks',
1101 'name': 'person_id_passwd',
1105 'name': 'person_id_owner_id',
1109 'name': 'person_id_lang',
1113 'name': 'person_id_no_reset_sent',
1117 'name': 'person_id_action_type',
1121 'name': 'person_id_project_id',
1125 'name': 'person_id_deleted_by',
1129 'name': 'person_id_deleted_dt',
1136 xtype: 'PagingToolbar',
1140 displayMsg : "Displaying Events{0} - {1} of {2}",
1141 emptyMsg : "No Events found"
1145 xtype: 'ColumnModel',
1150 renderer : function(v) { return String.format('{0}', v); }
1153 xtype: 'ColumnModel',
1155 header : 'Event when',
1157 dataIndex : 'event_when',
1158 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1161 xtype: 'ColumnModel',
1163 dataIndex : 'action',
1166 renderer : function(v) { return String.format('{0}', v); }
1169 xtype: 'ColumnModel',
1171 dataIndex : 'ipaddr',
1174 renderer : function(v) { return String.format('{0}', v); }
1177 xtype: 'ColumnModel',
1179 dataIndex : 'on_id',
1182 renderer : function(v) { return String.format('{0}', v); }
1185 xtype: 'ColumnModel',
1189 dataIndex : 'remarks',
1190 renderer : function(v) { return String.format('{0}', v); }
1199 activate : function() {
1200 _this.daypanel = this;
1201 if (_this.daygrid) {
1202 _this.daygrid.footer.onClick('first');
1207 fitContainer : true,
1210 tableName : 'Events',
1211 title : "Daily summary",
1218 _this.daygrid = this;
1219 //_this.dialog = Pman.Dialog.FILL_IN
1220 if (_this.daypanel.active) {
1221 this.footer.onClick('first');
1225 autoExpandColumn : 'person_name',
1231 beforeload : function (_self, o)
1233 if (! _this.dategrid) {
1237 o.params = o.params || {};
1239 var s = _this.dategrid.selModel.getSelected();
1241 _this.detailgrid.view.el.mask("Select a person");
1245 o.params.person_id = s.data.person_id;
1247 var s = _this.tablegrid.selModel.getSelected();
1249 _this.detailgrid.view.el.mask("Select a table");
1252 o.params.on_table = s.data.on_table;
1254 _this.detailgrid.view.el.unmask();
1256 var act = _this.actionSel.getValue();
1258 o.params.action = act;
1260 var tbl = _this.affectSel.getValue();
1262 o.params.on_table = tbl;
1266 act = _this.dateFrom.getValue();
1268 o.params['query[from]'] = act.format('Y-m-d');
1270 act = _this.dateTo.getValue();
1272 o.params['query[to]'] = act.format('Y-m-d');
1275 o.params['query[day_sum]'] = 1;
1276 o.params._columns = 'on_day,qty,uqty';
1282 sortInfo : { field : 'on_day', direction: 'ASC' },
1287 url : baseURL + '/Roo/Events.php'
1290 xtype: 'JsonReader',
1292 totalProperty : 'total',
1301 'name': 'person_name',
1305 'name': 'event_when',
1307 'dateFormat': 'Y-m-d'
1326 'name': 'person_id',
1334 'name': 'person_id_id',
1338 'name': 'person_id_office_id',
1342 'name': 'person_id_name',
1346 'name': 'person_id_phone',
1350 'name': 'person_id_fax',
1354 'name': 'person_id_email',
1358 'name': 'person_id_company_id',
1362 'name': 'person_id_role',
1366 'name': 'person_id_active',
1370 'name': 'person_id_remarks',
1374 'name': 'person_id_passwd',
1378 'name': 'person_id_owner_id',
1382 'name': 'person_id_lang',
1386 'name': 'person_id_no_reset_sent',
1390 'name': 'person_id_action_type',
1394 'name': 'person_id_project_id',
1398 'name': 'person_id_deleted_by',
1402 'name': 'person_id_deleted_dt',
1409 xtype: 'PagingToolbar',
1413 displayMsg : "Displaying Events{0} - {1} of {2}",
1414 emptyMsg : "No Events found"
1418 xtype: 'ColumnModel',
1420 dataIndex : 'on_day',
1421 header : 'Event when',
1424 renderer : function(v) { return String.format('{0}', v ); }
1427 xtype: 'ColumnModel',
1430 header : '#Affected',
1433 renderer : function(v) { return String.format('{0}', v); }
1436 xtype: 'ColumnModel',
1442 renderer : function(v) { return String.format('{0}', v); }
1449 xtype: 'LayoutRegion',
1455 xtype: 'LayoutRegion',
1459 xtype: 'LayoutRegion',
1462 tabPosition : 'top',