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 o.params = o.params || {};
93 var act = _this.actionSel ? _this.actionSel.getValue() : '';
95 o.params.action = act;
97 var tbl = _this.affectSel ? _this.affectSel.getValue() : '';
99 o.params.on_table = tbl;
101 act = _this.dateFrom.getValue();
103 o.params['query[from]'] = act.format('Y-m-d');
105 act = _this.dateTo.getValue();
107 o.params['query[to]'] = act.format('Y-m-d');
112 o.params['query[person_sum]'] = 1;
113 o.params._columns = 'person_id,person_id_name,person_id_email,qty,uqty';
114 o.params.limit = 999;
119 sortInfo : { field : 'person_name', direction: 'ASC' },
124 url : baseURL + '/Roo/Events.php'
129 totalProperty : 'total',
138 'name': 'person_name',
142 'name': 'event_when',
144 'dateFormat': 'Y-m-d'
171 'name': 'person_id_id',
175 'name': 'person_id_office_id',
179 'name': 'person_id_name',
183 'name': 'person_id_phone',
187 'name': 'person_id_fax',
191 'name': 'person_id_email',
195 'name': 'person_id_company_id',
199 'name': 'person_id_role',
203 'name': 'person_id_active',
207 'name': 'person_id_remarks',
211 'name': 'person_id_passwd',
215 'name': 'person_id_owner_id',
219 'name': 'person_id_lang',
223 'name': 'person_id_no_reset_sent',
227 'name': 'person_id_action_type',
231 'name': 'person_id_project_id',
235 'name': 'person_id_deleted_by',
239 'name': 'person_id_deleted_dt',
258 render : function (_self)
260 _this.dateFrom = _self;
262 change : function (_self, newValue, oldValue)
264 _this.dategrid.ds.load({});
268 value : (function() { var d = new Date(); return d.format('Y-m-01'); })()
274 render : function (_self)
276 _this.dateTo = _self;
278 change : function (_self, newValue, oldValue)
280 _this.dategrid.ds.load({});
284 value : (function() { var d = new Date();d = d.add(Date.MONTH, 1) ; return d.format('Y-m-01'); })()
290 xtype: 'ColumnModel',
292 dataIndex : 'person_id_name',
293 header : 'Person name',
296 renderer : function(v,x,r) {
297 return String.format('{0} <<a href="mailto:{1}">{1}</a>>', v, r.data.person_id_email);
301 xtype: 'ColumnModel',
304 header : '#Affected',
307 renderer : function(v) { return String.format('{0}', v); }
310 xtype: 'ColumnModel',
316 renderer : function(v) { return String.format('{0}', v); }
325 activate : function() {
326 _this.tablepanel = this;
327 if (_this.tablegrid) {
328 _this.tablegrid.footer.onClick('first');
336 tableName : 'Events',
344 _this.tablegrid = this;
345 //_this.dialog = Pman.Dialog.FILL_IN
346 if (_this.tablepanel.active) {
347 this.footer.onClick('first');
350 rowclick : function (_self, rowIndex, e)
353 _this.panel.layout.getRegion('east').getActivePanel().grid.footer.onClick('first');
356 autoExpandColumn : 'person_name',
362 beforeload : function (_self, o)
364 if (! _this.dategrid) {
368 var s = _this.dategrid.selModel.getSelected();
370 _this.tablegrid.view.el.mask("Select a person");
373 _this.tablegrid.view.el.unmask();
375 o.params = o.params || {};
376 var act = _this.actionSel.getValue();
378 o.params.action = act;
380 var tbl = _this.affectSel.getValue();
382 o.params.on_table = tbl;
385 act = _this.dateFrom.getValue();
387 o.params['query[from]'] = act.format('Y-m-d');
389 act = _this.dateTo.getValue();
391 o.params['query[to]'] = act.format('Y-m-d');
393 o.params.person_id = s.data.person_id;
394 o.params['query[table_sum]'] = 1;
395 o.params._columns = 'on_table,qty,uqty';
401 sortInfo : { field : 'on_table', direction: 'ASC' },
406 url : baseURL + '/Roo/Events.php'
411 totalProperty : 'total',
420 'name': 'person_name',
424 'name': 'event_when',
426 'dateFormat': 'Y-m-d'
453 'name': 'person_id_id',
457 'name': 'person_id_office_id',
461 'name': 'person_id_name',
465 'name': 'person_id_phone',
469 'name': 'person_id_fax',
473 'name': 'person_id_email',
477 'name': 'person_id_company_id',
481 'name': 'person_id_role',
485 'name': 'person_id_active',
489 'name': 'person_id_remarks',
493 'name': 'person_id_passwd',
497 'name': 'person_id_owner_id',
501 'name': 'person_id_lang',
505 'name': 'person_id_no_reset_sent',
509 'name': 'person_id_action_type',
513 'name': 'person_id_project_id',
517 'name': 'person_id_deleted_by',
521 'name': 'person_id_deleted_dt',
528 xtype: 'PagingToolbar',
532 displayMsg : "Displaying Events{0} - {1} of {2}",
533 emptyMsg : "No Events found"
543 select : function (combo, record, index)
545 _this.dategrid.ds.load({});
547 render : function (_self)
549 _this.actionSel = _self;
553 displayField : 'action',
555 emptyText : "Select Action",
556 forceSelection : true,
558 loadingText : "Searching...",
562 qtip : "Select Action",
563 queryParam : 'query[action]',
564 selectOnFocus : true,
565 tpl : '<div class="x-grid-cell-text x-btn button"><b>{action}</b> </div>',
566 triggerAction : 'all',
568 valueField : 'action',
574 beforeload : function (_self, o)
576 o.params = o.params || {};
577 // staff can see all logs, other companies can only see their own.
578 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
579 o.params.company_id = Pman.Login.authUser.company_id;
581 o.params._distinct = 'action';
582 o.params._columns ='action';
586 sortInfo : { field : 'action' , direction : 'ASC' },
591 url : baseURL + '/Roo/Events.php'
596 totalProperty : 'total',
605 'name': 'person_name',
609 'name': 'event_when',
611 'dateFormat': 'Y-m-d'
638 'name': 'person_id_id',
642 'name': 'person_id_office_id',
646 'name': 'person_id_name',
650 'name': 'person_id_phone',
654 'name': 'person_id_fax',
658 'name': 'person_id_email',
662 'name': 'person_id_company_id',
666 'name': 'person_id_role',
670 'name': 'person_id_active',
674 'name': 'person_id_remarks',
678 'name': 'person_id_passwd',
682 'name': 'person_id_owner_id',
686 'name': 'person_id_lang',
690 'name': 'person_id_no_reset_sent',
694 'name': 'person_id_action_type',
698 'name': 'person_id_project_id',
702 'name': 'person_id_deleted_by',
706 'name': 'person_id_deleted_dt',
717 select : function (combo, record, index)
719 _this.dategrid.ds.load({});
721 render : function (_self)
723 _this.affectSel = _self;
727 displayField : 'on_table',
729 emptyText : "Select Affects",
730 forceSelection : true,
732 loadingText : "Searching...",
736 qtip : "Select Action",
737 queryParam : 'query[on_table]',
738 selectOnFocus : true,
739 tpl : '<div class="x-grid-cell-text x-btn button"><b>{on_table}</b> </div>',
740 triggerAction : 'all',
742 valueField : 'action',
748 beforeload : function (_self, o)
750 o.params = o.params || {};
751 // staff can see all logs, other companies can only see their own.
752 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
753 o.params.company_id = Pman.Login.authUser.company_id;
755 o.params._distinct = 'on_table';
756 o.params._columns ='on_table';
760 sortInfo : { field : 'on_table' , direction : 'ASC' },
765 url : baseURL + '/Roo/Events.php'
770 totalProperty : 'total',
779 'name': 'person_name',
783 'name': 'event_when',
785 'dateFormat': 'Y-m-d'
812 'name': 'person_id_id',
816 'name': 'person_id_office_id',
820 'name': 'person_id_name',
824 'name': 'person_id_phone',
828 'name': 'person_id_fax',
832 'name': 'person_id_email',
836 'name': 'person_id_company_id',
840 'name': 'person_id_role',
844 'name': 'person_id_active',
848 'name': 'person_id_remarks',
852 'name': 'person_id_passwd',
856 'name': 'person_id_owner_id',
860 'name': 'person_id_lang',
864 'name': 'person_id_no_reset_sent',
868 'name': 'person_id_action_type',
872 'name': 'person_id_project_id',
876 'name': 'person_id_deleted_by',
880 'name': 'person_id_deleted_dt',
891 xtype: 'ColumnModel',
893 dataIndex : 'on_table',
897 renderer : function(v) { return String.format('{0}', v); }
900 xtype: 'ColumnModel',
903 header : '#Affected',
906 renderer : function(v) { return String.format('{0}', v); }
909 xtype: 'ColumnModel',
915 renderer : function(v) { return String.format('{0}', v); }
924 activate : function() {
925 _this.detailpanel = this;
926 if (_this.detailgrid) {
927 _this.detailgrid.footer.onClick('first');
935 tableName : 'Events',
943 _this.detailgrid = this;
944 //_this.dialog = Pman.Dialog.FILL_IN
945 if (_this.detailpanel.active) {
946 this.footer.onClick('first');
950 autoExpandColumn : 'person_name',
956 beforeload : function (_self, o)
958 if (! _this.dategrid) {
962 o.params = o.params || {};
964 var s = _this.dategrid.selModel.getSelected();
966 _this.detailgrid.view.el.mask("Select a person");
970 o.params.person_id = s.data.person_id;
972 var s = _this.tablegrid.selModel.getSelected();
974 _this.detailgrid.view.el.mask("Select a table");
977 o.params.on_table = s.data.on_table;
979 _this.detailgrid.view.el.unmask();
981 var act = _this.actionSel.getValue();
983 o.params.action = act;
985 var tbl = _this.affectSel.getValue();
987 o.params.on_table = tbl;
991 act = _this.dateFrom.getValue();
993 o.params['query[from]'] = act.format('Y-m-d');
995 act = _this.dateTo.getValue();
997 o.params['query[to]'] = act.format('Y-m-d');
1000 //o.params['query[table_d]'] = 1;
1001 //o.params._columns = 'on_table,qty,uqty';
1007 sortInfo : { field : 'event_when', direction: 'DESC' },
1012 url : baseURL + '/Roo/Events.php'
1015 xtype: 'JsonReader',
1017 totalProperty : 'total',
1026 'name': 'person_name',
1030 'name': 'event_when',
1032 'dateFormat': 'Y-m-d'
1051 'name': 'person_id',
1059 'name': 'person_id_id',
1063 'name': 'person_id_office_id',
1067 'name': 'person_id_name',
1071 'name': 'person_id_phone',
1075 'name': 'person_id_fax',
1079 'name': 'person_id_email',
1083 'name': 'person_id_company_id',
1087 'name': 'person_id_role',
1091 'name': 'person_id_active',
1095 'name': 'person_id_remarks',
1099 'name': 'person_id_passwd',
1103 'name': 'person_id_owner_id',
1107 'name': 'person_id_lang',
1111 'name': 'person_id_no_reset_sent',
1115 'name': 'person_id_action_type',
1119 'name': 'person_id_project_id',
1123 'name': 'person_id_deleted_by',
1127 'name': 'person_id_deleted_dt',
1134 xtype: 'PagingToolbar',
1138 displayMsg : "Displaying Events{0} - {1} of {2}",
1139 emptyMsg : "No Events found"
1143 xtype: 'ColumnModel',
1148 renderer : function(v) { return String.format('{0}', v); }
1151 xtype: 'ColumnModel',
1153 header : 'Event when',
1155 dataIndex : 'event_when',
1156 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1159 xtype: 'ColumnModel',
1161 dataIndex : 'action',
1164 renderer : function(v) { return String.format('{0}', v); }
1167 xtype: 'ColumnModel',
1169 dataIndex : 'ipaddr',
1172 renderer : function(v) { return String.format('{0}', v); }
1175 xtype: 'ColumnModel',
1177 dataIndex : 'on_id',
1180 renderer : function(v) { return String.format('{0}', v); }
1183 xtype: 'ColumnModel',
1187 dataIndex : 'remarks',
1188 renderer : function(v) { return String.format('{0}', v); }
1197 activate : function() {
1198 _this.daypanel = this;
1199 if (_this.daygrid) {
1200 _this.daygrid.footer.onClick('first');
1205 fitContainer : true,
1208 tableName : 'Events',
1209 title : "Daily summary",
1216 _this.daygrid = this;
1217 //_this.dialog = Pman.Dialog.FILL_IN
1218 if (_this.daypanel.active) {
1219 this.footer.onClick('first');
1223 autoExpandColumn : 'person_name',
1229 beforeload : function (_self, o)
1231 if (! _this.dategrid) {
1235 o.params = o.params || {};
1237 var s = _this.dategrid.selModel.getSelected();
1239 _this.detailgrid.view.el.mask("Select a person");
1243 o.params.person_id = s.data.person_id;
1245 var s = _this.tablegrid.selModel.getSelected();
1247 _this.detailgrid.view.el.mask("Select a table");
1250 o.params.on_table = s.data.on_table;
1252 _this.detailgrid.view.el.unmask();
1254 var act = _this.actionSel.getValue();
1256 o.params.action = act;
1258 var tbl = _this.affectSel.getValue();
1260 o.params.on_table = tbl;
1264 act = _this.dateFrom.getValue();
1266 o.params['query[from]'] = act.format('Y-m-d');
1268 act = _this.dateTo.getValue();
1270 o.params['query[to]'] = act.format('Y-m-d');
1273 o.params['query[day_sum]'] = 1;
1274 o.params._columns = 'on_day,qty,uqty';
1280 sortInfo : { field : 'on_day', direction: 'ASC' },
1285 url : baseURL + '/Roo/Events.php'
1288 xtype: 'JsonReader',
1290 totalProperty : 'total',
1299 'name': 'person_name',
1303 'name': 'event_when',
1305 'dateFormat': 'Y-m-d'
1324 'name': 'person_id',
1332 'name': 'person_id_id',
1336 'name': 'person_id_office_id',
1340 'name': 'person_id_name',
1344 'name': 'person_id_phone',
1348 'name': 'person_id_fax',
1352 'name': 'person_id_email',
1356 'name': 'person_id_company_id',
1360 'name': 'person_id_role',
1364 'name': 'person_id_active',
1368 'name': 'person_id_remarks',
1372 'name': 'person_id_passwd',
1376 'name': 'person_id_owner_id',
1380 'name': 'person_id_lang',
1384 'name': 'person_id_no_reset_sent',
1388 'name': 'person_id_action_type',
1392 'name': 'person_id_project_id',
1396 'name': 'person_id_deleted_by',
1400 'name': 'person_id_deleted_dt',
1407 xtype: 'PagingToolbar',
1411 displayMsg : "Displaying Events{0} - {1} of {2}",
1412 emptyMsg : "No Events found"
1416 xtype: 'ColumnModel',
1418 dataIndex : 'on_day',
1419 header : 'Event when',
1422 renderer : function(v) { return String.format('{0}', v ); }
1425 xtype: 'ColumnModel',
1428 header : '#Affected',
1431 renderer : function(v) { return String.format('{0}', v); }
1434 xtype: 'ColumnModel',
1440 renderer : function(v) { return String.format('{0}', v); }
1447 xtype: 'LayoutRegion',
1453 xtype: 'LayoutRegion',
1457 xtype: 'LayoutRegion',
1460 tabPosition : 'top',
1465 this.layout = this.panel.layout;