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',
38 title : "Event Drilldown",
40 xtype: 'BorderLayout',
47 activate : function() {
48 _this.datepanel = this;
50 _this.dategrid.ds.load({});
66 _this.dategrid = this;
67 //_this.dialog = Pman.Dialog.FILL_IN
68 if (_this.panel.active) {
72 rowclick : function (_self, rowIndex, e)
74 _this.tablegrid.footer.onClick('first');
77 autoExpandColumn : 'person_name',
83 beforeload : function (_self, o)
85 if (! _this.dateFrom) {
88 o.params = o.params || {};
90 var act = _this.actionSel ? _this.actionSel.getValue() : '';
92 o.params.action = act;
94 var tbl = _this.affectSel ? _this.affectSel.getValue() : '';
96 o.params.on_table = tbl;
98 act = _this.dateFrom.getValue();
100 o.params['query[from]'] = act.format('Y-m-d');
102 act = _this.dateTo.getValue();
104 o.params['query[to]'] = act.format('Y-m-d');
109 o.params['query[person_sum]'] = 1;
110 o.params._columns = 'person_id,person_id_name,person_id_email,qty';
111 o.params.limit = 999;
116 sortInfo : { field : 'person_name', direction: 'ASC' },
121 url : baseURL + '/Roo/Events.php'
126 totalProperty : 'total',
135 'name': 'person_name',
139 'name': 'event_when',
141 'dateFormat': 'Y-m-d'
168 'name': 'person_id_id',
172 'name': 'person_id_office_id',
176 'name': 'person_id_name',
180 'name': 'person_id_phone',
184 'name': 'person_id_fax',
188 'name': 'person_id_email',
192 'name': 'person_id_company_id',
196 'name': 'person_id_role',
200 'name': 'person_id_active',
204 'name': 'person_id_remarks',
208 'name': 'person_id_passwd',
212 'name': 'person_id_owner_id',
216 'name': 'person_id_lang',
220 'name': 'person_id_no_reset_sent',
224 'name': 'person_id_action_type',
228 'name': 'person_id_project_id',
232 'name': 'person_id_deleted_by',
236 'name': 'person_id_deleted_dt',
255 render : function (_self)
257 _this.dateFrom = _self;
259 change : function (_self, newValue, oldValue)
261 _this.dategrid.ds.load({});
265 value : (function() { var d = new Date(); return d.format('Y-m-01'); })()
271 render : function (_self)
273 _this.dateTo = _self;
275 change : function (_self, newValue, oldValue)
277 _this.dategrid.ds.load({});
281 value : (function() { var d = new Date();d = d.add(Date.MONTH, 1) ; return d.format('Y-m-01'); })()
287 xtype: 'ColumnModel',
289 dataIndex : 'person_id_name',
290 header : 'Person name',
293 renderer : function(v,x,r) {
294 return String.format('{0} <<a href="mailto:{1}">{1}</a>>', v, r.data.person_id_email);
298 xtype: 'ColumnModel',
304 renderer : function(v) { return String.format('{0}', v); }
313 activate : function() {
314 _this.tablepanel = this;
315 if (_this.tablegrid) {
316 _this.tablegrid.footer.onClick('first');
324 tableName : 'Events',
332 _this.tablegrid = this;
333 //_this.dialog = Pman.Dialog.FILL_IN
334 if (_this.tablepanel.active) {
335 this.footer.onClick('first');
338 rowclick : function (_self, rowIndex, e)
340 _this.detailgrid.footer.onClick('first');
343 autoExpandColumn : 'person_name',
349 beforeload : function (_self, o)
351 if (! _this.dategrid) {
355 var s = _this.dategrid.selModel.getSelected();
357 _this.tablegrid.view.el.mask("Select a person");
360 _this.tablegrid.view.el.unmask();
362 o.params = o.params || {};
363 var act = _this.actionSel.getValue();
365 o.params.action = act;
367 var tbl = _this.affectSel.getValue();
369 o.params.on_table = tbl;
372 act = _this.dateFrom.getValue();
374 o.params['query[from]'] = act.format('Y-m-d');
376 act = _this.dateTo.getValue();
378 o.params['query[to]'] = act.format('Y-m-d');
380 o.params.person_id = s.data.person_id;
381 o.params['query[table_sum]'] = 1;
382 o.params._columns = 'on_table,qty,uqty';
388 sortInfo : { field : 'on_table', direction: 'ASC' },
393 url : baseURL + '/Roo/Events.php'
398 totalProperty : 'total',
407 'name': 'person_name',
411 'name': 'event_when',
413 'dateFormat': 'Y-m-d'
440 'name': 'person_id_id',
444 'name': 'person_id_office_id',
448 'name': 'person_id_name',
452 'name': 'person_id_phone',
456 'name': 'person_id_fax',
460 'name': 'person_id_email',
464 'name': 'person_id_company_id',
468 'name': 'person_id_role',
472 'name': 'person_id_active',
476 'name': 'person_id_remarks',
480 'name': 'person_id_passwd',
484 'name': 'person_id_owner_id',
488 'name': 'person_id_lang',
492 'name': 'person_id_no_reset_sent',
496 'name': 'person_id_action_type',
500 'name': 'person_id_project_id',
504 'name': 'person_id_deleted_by',
508 'name': 'person_id_deleted_dt',
515 xtype: 'PagingToolbar',
519 displayMsg : "Displaying Events{0} - {1} of {2}",
520 emptyMsg : "No Events found"
530 select : function (combo, record, index)
532 _this.dategrid.ds.load({});
534 render : function (_self)
536 _this.actionSel = _self;
540 displayField : 'action',
542 emptyText : "Select Action",
543 forceSelection : true,
545 loadingText : "Searching...",
549 qtip : "Select Action",
550 queryParam : 'query[action]',
551 selectOnFocus : true,
552 tpl : '<div class="x-grid-cell-text x-btn button"><b>{action}</b> </div>',
553 triggerAction : 'all',
555 valueField : 'action',
561 beforeload : function (_self, o)
563 o.params = o.params || {};
564 // staff can see all logs, other companies can only see their own.
565 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
566 o.params.company_id = Pman.Login.authUser.company_id;
568 o.params._distinct = 'action';
569 o.params._columns ='action';
573 sortInfo : { field : 'action' , direction : 'ASC' },
578 url : baseURL + '/Roo/Events.php'
583 totalProperty : 'total',
592 'name': 'person_name',
596 'name': 'event_when',
598 'dateFormat': 'Y-m-d'
625 'name': 'person_id_id',
629 'name': 'person_id_office_id',
633 'name': 'person_id_name',
637 'name': 'person_id_phone',
641 'name': 'person_id_fax',
645 'name': 'person_id_email',
649 'name': 'person_id_company_id',
653 'name': 'person_id_role',
657 'name': 'person_id_active',
661 'name': 'person_id_remarks',
665 'name': 'person_id_passwd',
669 'name': 'person_id_owner_id',
673 'name': 'person_id_lang',
677 'name': 'person_id_no_reset_sent',
681 'name': 'person_id_action_type',
685 'name': 'person_id_project_id',
689 'name': 'person_id_deleted_by',
693 'name': 'person_id_deleted_dt',
704 select : function (combo, record, index)
706 _this.dategrid.ds.load({});
708 render : function (_self)
710 _this.affectSel = _self;
714 displayField : 'on_table',
716 emptyText : "Select Affects",
717 forceSelection : true,
719 loadingText : "Searching...",
723 qtip : "Select Action",
724 queryParam : 'query[on_table]',
725 selectOnFocus : true,
726 tpl : '<div class="x-grid-cell-text x-btn button"><b>{on_table}</b> </div>',
727 triggerAction : 'all',
729 valueField : 'action',
735 beforeload : function (_self, o)
737 o.params = o.params || {};
738 // staff can see all logs, other companies can only see their own.
739 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
740 o.params.company_id = Pman.Login.authUser.company_id;
742 o.params._distinct = 'on_table';
743 o.params._columns ='on_table';
747 sortInfo : { field : 'on_table' , direction : 'ASC' },
752 url : baseURL + '/Roo/Events.php'
757 totalProperty : 'total',
766 'name': 'person_name',
770 'name': 'event_when',
772 'dateFormat': 'Y-m-d'
799 'name': 'person_id_id',
803 'name': 'person_id_office_id',
807 'name': 'person_id_name',
811 'name': 'person_id_phone',
815 'name': 'person_id_fax',
819 'name': 'person_id_email',
823 'name': 'person_id_company_id',
827 'name': 'person_id_role',
831 'name': 'person_id_active',
835 'name': 'person_id_remarks',
839 'name': 'person_id_passwd',
843 'name': 'person_id_owner_id',
847 'name': 'person_id_lang',
851 'name': 'person_id_no_reset_sent',
855 'name': 'person_id_action_type',
859 'name': 'person_id_project_id',
863 'name': 'person_id_deleted_by',
867 'name': 'person_id_deleted_dt',
878 xtype: 'ColumnModel',
880 dataIndex : 'on_table',
884 renderer : function(v) { return String.format('{0}', v); }
887 xtype: 'ColumnModel',
890 header : '#Affected',
893 renderer : function(v) { return String.format('{0}', v); }
896 xtype: 'ColumnModel',
902 renderer : function(v) { return String.format('{0}', v); }
911 activate : function() {
912 _this.detailpanel = this;
913 if (_this.detailgrid) {
914 _this.detailgrid.footer.onClick('first');
922 tableName : 'Events',
930 _this.detailgrid = this;
931 //_this.dialog = Pman.Dialog.FILL_IN
932 if (_this.detailpanel.active) {
933 this.footer.onClick('first');
937 autoExpandColumn : 'person_name',
943 beforeload : function (_self, o)
945 if (! _this.dategrid) {
949 o.params = o.params || {};
951 var s = _this.dategrid.selModel.getSelected();
953 _this.detailgrid.view.el.mask("Select a person");
957 o.params.person_id = s.data.person_id;
959 var s = _this.tablegrid.selModel.getSelected();
961 _this.detailgrid.view.el.mask("Select a table");
964 o.params.on_table = s.data.on_table;
966 _this.detailgrid.view.el.unmask();
968 var act = _this.actionSel.getValue();
970 o.params.action = act;
972 var tbl = _this.affectSel.getValue();
974 o.params.on_table = tbl;
978 act = _this.dateFrom.getValue();
980 o.params['query[from]'] = act.format('Y-m-d');
982 act = _this.dateTo.getValue();
984 o.params['query[to]'] = act.format('Y-m-d');
987 //o.params['query[table_d]'] = 1;
988 //o.params._columns = 'on_table,qty,uqty';
994 sortInfo : { field : 'person_name', direction: 'ASC' },
999 url : baseURL + '/Roo/Events.php'
1002 xtype: 'JsonReader',
1004 totalProperty : 'total',
1013 'name': 'person_name',
1017 'name': 'event_when',
1019 'dateFormat': 'Y-m-d'
1038 'name': 'person_id',
1046 'name': 'person_id_id',
1050 'name': 'person_id_office_id',
1054 'name': 'person_id_name',
1058 'name': 'person_id_phone',
1062 'name': 'person_id_fax',
1066 'name': 'person_id_email',
1070 'name': 'person_id_company_id',
1074 'name': 'person_id_role',
1078 'name': 'person_id_active',
1082 'name': 'person_id_remarks',
1086 'name': 'person_id_passwd',
1090 'name': 'person_id_owner_id',
1094 'name': 'person_id_lang',
1098 'name': 'person_id_no_reset_sent',
1102 'name': 'person_id_action_type',
1106 'name': 'person_id_project_id',
1110 'name': 'person_id_deleted_by',
1114 'name': 'person_id_deleted_dt',
1121 xtype: 'PagingToolbar',
1125 displayMsg : "Displaying Events{0} - {1} of {2}",
1126 emptyMsg : "No Events found"
1130 xtype: 'ColumnModel',
1135 renderer : function(v) { return String.format('{0}', v); }
1138 xtype: 'ColumnModel',
1140 header : 'Event when',
1142 dataIndex : 'event_when',
1143 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1146 xtype: 'ColumnModel',
1148 dataIndex : 'action',
1151 renderer : function(v) { return String.format('{0}', v); }
1154 xtype: 'ColumnModel',
1156 dataIndex : 'ipaddr',
1159 renderer : function(v) { return String.format('{0}', v); }
1162 xtype: 'ColumnModel',
1164 dataIndex : 'on_id',
1167 renderer : function(v) { return String.format('{0}', v); }
1170 xtype: 'ColumnModel',
1174 dataIndex : 'remarks',
1175 renderer : function(v) { return String.format('{0}', v); }
1184 activate : function() {
1185 _this.daypanel = this;
1186 if (_this.daygrid) {
1187 _this.daygrid.footer.onClick('first');
1192 fitContainer : true,
1195 tableName : 'Events',
1196 title : "Daily summary",
1203 _this.daygrid = this;
1204 //_this.dialog = Pman.Dialog.FILL_IN
1205 if (_this.daypanel.active) {
1206 this.footer.onClick('first');
1210 autoExpandColumn : 'person_name',
1216 beforeload : function (_self, o)
1218 if (! _this.dategrid) {
1222 o.params = o.params || {};
1224 var s = _this.dategrid.selModel.getSelected();
1226 _this.detailgrid.view.el.mask("Select a person");
1230 o.params.person_id = s.data.person_id;
1232 var s = _this.tablegrid.selModel.getSelected();
1234 _this.detailgrid.view.el.mask("Select a table");
1237 o.params.on_table = s.data.on_table;
1239 _this.detailgrid.view.el.unmask();
1241 var act = _this.actionSel.getValue();
1243 o.params.action = act;
1245 var tbl = _this.affectSel.getValue();
1247 o.params.on_table = tbl;
1251 act = _this.dateFrom.getValue();
1253 o.params['query[from]'] = act.format('Y-m-d');
1255 act = _this.dateTo.getValue();
1257 o.params['query[to]'] = act.format('Y-m-d');
1260 o.params['query[day_sum]'] = 1;
1261 o.params._columns = 'onday,qty,uqty';
1267 sortInfo : { field : 'person_name', direction: 'ASC' },
1272 url : baseURL + '/Roo/Events.php'
1275 xtype: 'JsonReader',
1277 totalProperty : 'total',
1286 'name': 'person_name',
1290 'name': 'event_when',
1292 'dateFormat': 'Y-m-d'
1311 'name': 'person_id',
1319 'name': 'person_id_id',
1323 'name': 'person_id_office_id',
1327 'name': 'person_id_name',
1331 'name': 'person_id_phone',
1335 'name': 'person_id_fax',
1339 'name': 'person_id_email',
1343 'name': 'person_id_company_id',
1347 'name': 'person_id_role',
1351 'name': 'person_id_active',
1355 'name': 'person_id_remarks',
1359 'name': 'person_id_passwd',
1363 'name': 'person_id_owner_id',
1367 'name': 'person_id_lang',
1371 'name': 'person_id_no_reset_sent',
1375 'name': 'person_id_action_type',
1379 'name': 'person_id_project_id',
1383 'name': 'person_id_deleted_by',
1387 'name': 'person_id_deleted_dt',
1394 xtype: 'PagingToolbar',
1398 displayMsg : "Displaying Events{0} - {1} of {2}",
1399 emptyMsg : "No Events found"
1403 xtype: 'ColumnModel',
1405 header : 'Event when',
1407 dataIndex : 'event_when',
1408 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1411 xtype: 'ColumnModel',
1413 dataIndex : 'action',
1416 renderer : function(v) { return String.format('{0}', v); }
1419 xtype: 'ColumnModel',
1421 dataIndex : 'ipaddr',
1424 renderer : function(v) { return String.format('{0}', v); }
1427 xtype: 'ColumnModel',
1429 dataIndex : 'on_id',
1432 renderer : function(v) { return String.format('{0}', v); }
1435 xtype: 'ColumnModel',
1439 dataIndex : 'remarks',
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;