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 if (_this.tablegrid) {
92 _this.tablegrid.ds.removeAll();
95 o.params = o.params || {};
97 var act = _this.actionSel ? _this.actionSel.getValue() : '';
99 o.params.action = act;
101 var tbl = _this.affectSel ? _this.affectSel.getValue() : '';
103 o.params.on_table = tbl;
105 act = _this.dateFrom.getValue();
107 o.params['query[from]'] = act.format('Y-m-d');
109 act = _this.dateTo.getValue();
111 o.params['query[to]'] = act.format('Y-m-d');
116 o.params['query[person_sum]'] = 1;
117 o.params._columns = 'person_id,person_id_name,person_id_email,qty,uqty';
118 o.params.limit = 999;
123 sortInfo : { field : 'person_name', direction: 'ASC' },
128 url : baseURL + '/Roo/Events.php'
133 totalProperty : 'total',
142 'name': 'person_name',
146 'name': 'event_when',
148 'dateFormat': 'Y-m-d'
175 'name': 'person_id_id',
179 'name': 'person_id_office_id',
183 'name': 'person_id_name',
187 'name': 'person_id_phone',
191 'name': 'person_id_fax',
195 'name': 'person_id_email',
199 'name': 'person_id_company_id',
203 'name': 'person_id_role',
207 'name': 'person_id_active',
211 'name': 'person_id_remarks',
215 'name': 'person_id_passwd',
219 'name': 'person_id_owner_id',
223 'name': 'person_id_lang',
227 'name': 'person_id_no_reset_sent',
231 'name': 'person_id_action_type',
235 'name': 'person_id_project_id',
239 'name': 'person_id_deleted_by',
243 'name': 'person_id_deleted_dt',
262 render : function (_self)
264 _this.dateFrom = _self;
266 change : function (_self, newValue, oldValue)
268 _this.dategrid.ds.load({});
272 value : (function() { var d = new Date(); return d.format('Y-m-01'); })()
278 render : function (_self)
280 _this.dateTo = _self;
282 change : function (_self, newValue, oldValue)
284 _this.dategrid.ds.load({});
288 value : (function() { var d = new Date();d = d.add(Date.MONTH, 1) ; return d.format('Y-m-01'); })()
294 xtype: 'ColumnModel',
296 dataIndex : 'person_id_name',
297 header : 'Person name',
300 renderer : function(v,x,r) {
301 return String.format('{0} <<a href="mailto:{1}">{1}</a>>', v, r.data.person_id_email);
305 xtype: 'ColumnModel',
308 header : '#Affected',
311 renderer : function(v) { return String.format('{0}', v); }
314 xtype: 'ColumnModel',
320 renderer : function(v) { return String.format('{0}', v); }
329 activate : function() {
330 _this.tablepanel = this;
331 if (_this.tablegrid) {
332 _this.tablegrid.footer.onClick('first');
340 tableName : 'Events',
348 _this.tablegrid = this;
349 //_this.dialog = Pman.Dialog.FILL_IN
350 if (_this.tablepanel.active) {
351 this.footer.onClick('first');
354 rowclick : function (_self, rowIndex, e)
357 _this.panel.layout.getRegion('east').getActivePanel().grid.footer.onClick('first');
360 autoExpandColumn : 'person_name',
366 beforeload : function (_self, o)
368 if (! _this.dategrid) {
372 _this.detailpanel.ds.removeAll();
374 var s = _this.dategrid.selModel.getSelected();
376 _this.tablegrid.view.el.mask("Select a person");
379 _this.tablegrid.view.el.unmask();
381 o.params = o.params || {};
382 var act = _this.actionSel.getValue();
384 o.params.action = act;
386 var tbl = _this.affectSel.getValue();
388 o.params.on_table = tbl;
391 act = _this.dateFrom.getValue();
393 o.params['query[from]'] = act.format('Y-m-d');
395 act = _this.dateTo.getValue();
397 o.params['query[to]'] = act.format('Y-m-d');
399 o.params.person_id = s.data.person_id;
400 o.params['query[table_sum]'] = 1;
401 o.params._columns = 'on_table,qty,uqty';
407 sortInfo : { field : 'on_table', direction: 'ASC' },
412 url : baseURL + '/Roo/Events.php'
417 totalProperty : 'total',
426 'name': 'person_name',
430 'name': 'event_when',
432 'dateFormat': 'Y-m-d'
459 'name': 'person_id_id',
463 'name': 'person_id_office_id',
467 'name': 'person_id_name',
471 'name': 'person_id_phone',
475 'name': 'person_id_fax',
479 'name': 'person_id_email',
483 'name': 'person_id_company_id',
487 'name': 'person_id_role',
491 'name': 'person_id_active',
495 'name': 'person_id_remarks',
499 'name': 'person_id_passwd',
503 'name': 'person_id_owner_id',
507 'name': 'person_id_lang',
511 'name': 'person_id_no_reset_sent',
515 'name': 'person_id_action_type',
519 'name': 'person_id_project_id',
523 'name': 'person_id_deleted_by',
527 'name': 'person_id_deleted_dt',
534 xtype: 'PagingToolbar',
538 displayMsg : "Displaying Events{0} - {1} of {2}",
539 emptyMsg : "No Events found"
549 select : function (combo, record, index)
551 _this.dategrid.ds.load({});
553 render : function (_self)
555 _this.actionSel = _self;
559 displayField : 'action',
561 emptyText : "Select Action",
562 forceSelection : true,
564 loadingText : "Searching...",
568 qtip : "Select Action",
569 queryParam : 'query[action]',
570 selectOnFocus : true,
571 tpl : '<div class="x-grid-cell-text x-btn button"><b>{action}</b> </div>',
572 triggerAction : 'all',
574 valueField : 'action',
580 beforeload : function (_self, o)
582 o.params = o.params || {};
583 // staff can see all logs, other companies can only see their own.
584 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
585 o.params.company_id = Pman.Login.authUser.company_id;
587 o.params._distinct = 'action';
588 o.params._columns ='action';
592 sortInfo : { field : 'action' , direction : 'ASC' },
597 url : baseURL + '/Roo/Events.php'
602 totalProperty : 'total',
611 'name': 'person_name',
615 'name': 'event_when',
617 'dateFormat': 'Y-m-d'
644 'name': 'person_id_id',
648 'name': 'person_id_office_id',
652 'name': 'person_id_name',
656 'name': 'person_id_phone',
660 'name': 'person_id_fax',
664 'name': 'person_id_email',
668 'name': 'person_id_company_id',
672 'name': 'person_id_role',
676 'name': 'person_id_active',
680 'name': 'person_id_remarks',
684 'name': 'person_id_passwd',
688 'name': 'person_id_owner_id',
692 'name': 'person_id_lang',
696 'name': 'person_id_no_reset_sent',
700 'name': 'person_id_action_type',
704 'name': 'person_id_project_id',
708 'name': 'person_id_deleted_by',
712 'name': 'person_id_deleted_dt',
723 select : function (combo, record, index)
725 _this.dategrid.ds.load({});
727 render : function (_self)
729 _this.affectSel = _self;
733 displayField : 'on_table',
735 emptyText : "Select Affects",
736 forceSelection : true,
738 loadingText : "Searching...",
742 qtip : "Select Action",
743 queryParam : 'query[on_table]',
744 selectOnFocus : true,
745 tpl : '<div class="x-grid-cell-text x-btn button"><b>{on_table}</b> </div>',
746 triggerAction : 'all',
748 valueField : 'action',
754 beforeload : function (_self, o)
756 o.params = o.params || {};
757 // staff can see all logs, other companies can only see their own.
758 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
759 o.params.company_id = Pman.Login.authUser.company_id;
761 o.params._distinct = 'on_table';
762 o.params._columns ='on_table';
766 sortInfo : { field : 'on_table' , direction : 'ASC' },
771 url : baseURL + '/Roo/Events.php'
776 totalProperty : 'total',
785 'name': 'person_name',
789 'name': 'event_when',
791 'dateFormat': 'Y-m-d'
818 'name': 'person_id_id',
822 'name': 'person_id_office_id',
826 'name': 'person_id_name',
830 'name': 'person_id_phone',
834 'name': 'person_id_fax',
838 'name': 'person_id_email',
842 'name': 'person_id_company_id',
846 'name': 'person_id_role',
850 'name': 'person_id_active',
854 'name': 'person_id_remarks',
858 'name': 'person_id_passwd',
862 'name': 'person_id_owner_id',
866 'name': 'person_id_lang',
870 'name': 'person_id_no_reset_sent',
874 'name': 'person_id_action_type',
878 'name': 'person_id_project_id',
882 'name': 'person_id_deleted_by',
886 'name': 'person_id_deleted_dt',
897 xtype: 'ColumnModel',
899 dataIndex : 'on_table',
903 renderer : function(v) { return String.format('{0}', v); }
906 xtype: 'ColumnModel',
909 header : '#Affected',
912 renderer : function(v) { return String.format('{0}', v); }
915 xtype: 'ColumnModel',
921 renderer : function(v) { return String.format('{0}', v); }
930 activate : function() {
931 _this.detailpanel = this;
932 if (_this.detailgrid) {
933 _this.detailgrid.footer.onClick('first');
941 tableName : 'Events',
949 _this.detailgrid = this;
950 //_this.dialog = Pman.Dialog.FILL_IN
951 if (_this.detailpanel.active) {
952 this.footer.onClick('first');
956 autoExpandColumn : 'person_name',
962 beforeload : function (_self, o)
964 if (! _this.dategrid) {
968 o.params = o.params || {};
970 var s = _this.dategrid.selModel.getSelected();
972 _this.detailgrid.view.el.mask("Select a person");
976 o.params.person_id = s.data.person_id;
978 var s = _this.tablegrid.selModel.getSelected();
980 _this.detailgrid.view.el.mask("Select a table");
983 o.params.on_table = s.data.on_table;
985 _this.detailgrid.view.el.unmask();
987 var act = _this.actionSel.getValue();
989 o.params.action = act;
991 var tbl = _this.affectSel.getValue();
993 o.params.on_table = tbl;
997 act = _this.dateFrom.getValue();
999 o.params['query[from]'] = act.format('Y-m-d');
1001 act = _this.dateTo.getValue();
1003 o.params['query[to]'] = act.format('Y-m-d');
1006 //o.params['query[table_d]'] = 1;
1007 //o.params._columns = 'on_table,qty,uqty';
1013 sortInfo : { field : 'event_when', direction: 'DESC' },
1018 url : baseURL + '/Roo/Events.php'
1021 xtype: 'JsonReader',
1023 totalProperty : 'total',
1032 'name': 'person_name',
1036 'name': 'event_when',
1038 'dateFormat': 'Y-m-d'
1057 'name': 'person_id',
1065 'name': 'person_id_id',
1069 'name': 'person_id_office_id',
1073 'name': 'person_id_name',
1077 'name': 'person_id_phone',
1081 'name': 'person_id_fax',
1085 'name': 'person_id_email',
1089 'name': 'person_id_company_id',
1093 'name': 'person_id_role',
1097 'name': 'person_id_active',
1101 'name': 'person_id_remarks',
1105 'name': 'person_id_passwd',
1109 'name': 'person_id_owner_id',
1113 'name': 'person_id_lang',
1117 'name': 'person_id_no_reset_sent',
1121 'name': 'person_id_action_type',
1125 'name': 'person_id_project_id',
1129 'name': 'person_id_deleted_by',
1133 'name': 'person_id_deleted_dt',
1140 xtype: 'PagingToolbar',
1144 displayMsg : "Displaying Events{0} - {1} of {2}",
1145 emptyMsg : "No Events found"
1149 xtype: 'ColumnModel',
1154 renderer : function(v) { return String.format('{0}', v); }
1157 xtype: 'ColumnModel',
1159 header : 'Event when',
1161 dataIndex : 'event_when',
1162 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
1165 xtype: 'ColumnModel',
1167 dataIndex : 'action',
1170 renderer : function(v) { return String.format('{0}', v); }
1173 xtype: 'ColumnModel',
1175 dataIndex : 'ipaddr',
1178 renderer : function(v) { return String.format('{0}', v); }
1181 xtype: 'ColumnModel',
1183 dataIndex : 'on_id',
1186 renderer : function(v) { return String.format('{0}', v); }
1189 xtype: 'ColumnModel',
1193 dataIndex : 'remarks',
1194 renderer : function(v) { return String.format('{0}', v); }
1203 activate : function() {
1204 _this.daypanel = this;
1205 if (_this.daygrid) {
1206 _this.daygrid.footer.onClick('first');
1211 fitContainer : true,
1214 tableName : 'Events',
1215 title : "Daily summary",
1222 _this.daygrid = this;
1223 //_this.dialog = Pman.Dialog.FILL_IN
1224 if (_this.daypanel.active) {
1225 this.footer.onClick('first');
1229 autoExpandColumn : 'person_name',
1235 beforeload : function (_self, o)
1237 if (! _this.dategrid) {
1241 o.params = o.params || {};
1243 var s = _this.dategrid.selModel.getSelected();
1245 _this.detailgrid.view.el.mask("Select a person");
1249 o.params.person_id = s.data.person_id;
1251 var s = _this.tablegrid.selModel.getSelected();
1253 _this.detailgrid.view.el.mask("Select a table");
1256 o.params.on_table = s.data.on_table;
1258 _this.detailgrid.view.el.unmask();
1260 var act = _this.actionSel.getValue();
1262 o.params.action = act;
1264 var tbl = _this.affectSel.getValue();
1266 o.params.on_table = tbl;
1270 act = _this.dateFrom.getValue();
1272 o.params['query[from]'] = act.format('Y-m-d');
1274 act = _this.dateTo.getValue();
1276 o.params['query[to]'] = act.format('Y-m-d');
1279 o.params['query[day_sum]'] = 1;
1280 o.params._columns = 'on_day,qty,uqty';
1286 sortInfo : { field : 'on_day', direction: 'ASC' },
1291 url : baseURL + '/Roo/Events.php'
1294 xtype: 'JsonReader',
1296 totalProperty : 'total',
1305 'name': 'person_name',
1309 'name': 'event_when',
1311 'dateFormat': 'Y-m-d'
1330 'name': 'person_id',
1338 'name': 'person_id_id',
1342 'name': 'person_id_office_id',
1346 'name': 'person_id_name',
1350 'name': 'person_id_phone',
1354 'name': 'person_id_fax',
1358 'name': 'person_id_email',
1362 'name': 'person_id_company_id',
1366 'name': 'person_id_role',
1370 'name': 'person_id_active',
1374 'name': 'person_id_remarks',
1378 'name': 'person_id_passwd',
1382 'name': 'person_id_owner_id',
1386 'name': 'person_id_lang',
1390 'name': 'person_id_no_reset_sent',
1394 'name': 'person_id_action_type',
1398 'name': 'person_id_project_id',
1402 'name': 'person_id_deleted_by',
1406 'name': 'person_id_deleted_dt',
1413 xtype: 'PagingToolbar',
1417 displayMsg : "Displaying Events{0} - {1} of {2}",
1418 emptyMsg : "No Events found"
1422 xtype: 'ColumnModel',
1424 dataIndex : 'on_day',
1425 header : 'Event when',
1428 renderer : function(v) { return String.format('{0}', v ); }
1431 xtype: 'ColumnModel',
1434 header : '#Affected',
1437 renderer : function(v) { return String.format('{0}', v); }
1440 xtype: 'ColumnModel',
1446 renderer : function(v) { return String.format('{0}', v); }
1453 xtype: 'LayoutRegion',
1459 xtype: 'LayoutRegion',
1463 xtype: 'LayoutRegion',
1466 tabPosition : 'top',
1471 this.layout = this.panel.layout;