3 "name": "Pman.Tab.AdminLogDrill",
4 "parent": "Pman.Tab.AdminLogs",
5 "title": "Pman.Tab.AdminLogDrill",
6 "path": "/home/alan/gitlive/Pman.Admin/Pman.Tab.AdminLogDrill.bjs",
10 "title": "Event Drilldown",
11 "xtype": "NestedLayoutPanel",
16 "xtype": "BorderLayout",
23 "xtype": "LayoutRegion",
28 "xtype": "LayoutRegion",
35 "xtype": "LayoutRegion",
40 "|activate": "function() {\n _this.datepanel = this;\n if (_this.dategrid) {\n _this.dategrid.ds.load({});\n }\n}"
46 "tableName": "Events",
53 "|render": "function() \n{\n _this.dategrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.panel.active) {\n this.ds.load({});\n }\n}",
54 "rowclick": "function (_self, rowIndex, e)\n{\n _this.tablegrid.footer.onClick('first');\n}"
57 "autoExpandColumn": "person_name",
64 "beforeload": "function (_self, o)\n{\n if (! _this.dateFrom) {\n return;\n }\n o.params = o.params || {};\n \n \n act = _this.dateFrom.getValue();\n if (act.format) {\n o.params['query[from]'] = act.format('Y-m-d');\n }\n act = _this.dateTo.getValue();\n if (act.format) {\n o.params['query[to]'] = act.format('Y-m-d');\n }\n o.params['query[person_sum]'] = 1;\n o.params._columns = 'person_id,person_id_name,person_id_email,qty';\n o.params.limit = 999;\n \n}"
66 "*prop": "dataSource",
69 "|sortInfo": "{ field : 'person_name', direction: 'ASC' }",
76 "|url": "baseURL + '/Roo/Events.php'",
81 "xtype": "JsonReader",
82 "totalProperty": "total",
86 "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'person_name',\n 'type': 'string'\n },\n {\n 'name': 'event_when',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'action',\n 'type': 'string'\n },\n {\n 'name': 'ipaddr',\n 'type': 'string'\n },\n {\n 'name': 'on_id',\n 'type': 'int'\n },\n {\n 'name': 'on_table',\n 'type': 'string'\n },\n {\n 'name': 'person_id',\n 'type': 'int'\n },\n {\n 'name': 'remarks',\n 'type': 'string'\n },\n {\n 'name': 'person_id_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_office_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_name',\n 'type': 'string'\n },\n {\n 'name': 'person_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'person_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'person_id_email',\n 'type': 'string'\n },\n {\n 'name': 'person_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_role',\n 'type': 'string'\n },\n {\n 'name': 'person_id_active',\n 'type': 'int'\n },\n {\n 'name': 'person_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'person_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'person_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_lang',\n 'type': 'string'\n },\n {\n 'name': 'person_id_no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'person_id_action_type',\n 'type': 'string'\n },\n {\n 'name': 'person_id_project_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_dt',\n 'type': 'date'\n }\n]"
103 "render": "function (_self)\n{\n _this.dateFrom = _self;\n}",
104 "change": "function (_self, newValue, oldValue)\n{\n _this.dategrid.ds.load({});\n}"
107 "xtype": "DateField",
112 "render": "function (_self)\n{\n _this.dateTo = _self;\n}",
113 "change": "function (_self, newValue, oldValue)\n{\n _this.dategrid.ds.load({});\n}"
116 "xtype": "DateField",
121 "render": "function (_self)\n{\n _this.dateFrom = _self;\n}",
122 "change": "function (_self, newValue, oldValue)\n{\n _this.dategrid.ds.load({});\n}"
125 "xtype": "DateField",
131 "*prop": "colModel[]",
132 "dataIndex": "person_id_name",
133 "header": "Person name",
136 "xtype": "ColumnModel",
137 "|renderer": "function(v,x,r) {\n return String.format('{0} <<a href=\"mailto:{1}\">{1}</a>>', v, r.data.person_id_email); \n }",
141 "*prop": "colModel[]",
146 "xtype": "ColumnModel",
147 "|renderer": "function(v) { return String.format('{0}', v); }",
156 "|activate": "function() {\n _this.tablepanel = this;\n if (_this.tablegrid) {\n _this.tablegrid.footer.onClick('first');\n }\n}"
159 "fitContainer": true,
162 "tableName": "Events",
164 "xtype": "GridPanel",
169 "|render": "function() \n{\n _this.tablegrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.tablepanel.active) {\n this.footer.onClick('first');\n }\n}",
170 "rowclick": "function (_self, rowIndex, e)\n{\n _this.detailgrid.footer.onClick('first');\n}"
173 "autoExpandColumn": "person_name",
180 "beforeload": "function (_self, o)\n{\n if (! _this.dategrid) {\n return;\n }\n \n var s = _this.dategrid.selModel.getSelected();\n if (!s) {\n _this.tablegrid.view.el.mask(\"Select a person\");\n return false;\n }\n _this.tablegrid.view.el.unmask();\n \n o.params = o.params || {};\n \n \n act = _this.dateFrom.getValue();\n if (act.format) {\n o.params['query[from]'] = act.format('Y-m-d');\n }\n act = _this.dateTo.getValue();\n if (act.format) {\n o.params['query[to]'] = act.format('Y-m-d');\n }\n o.params.person_id = s.data.person_id;\n o.params['query[table_sum]'] = 1;\n o.params._columns = 'on_table,qty,uqty';\n\n \n}"
182 "*prop": "dataSource",
185 "|sortInfo": "{ field : 'on_table', direction: 'ASC' }",
190 "xtype": "HttpProxy",
192 "|url": "baseURL + '/Roo/Events.php'",
197 "xtype": "JsonReader",
198 "totalProperty": "total",
202 "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'person_name',\n 'type': 'string'\n },\n {\n 'name': 'event_when',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'action',\n 'type': 'string'\n },\n {\n 'name': 'ipaddr',\n 'type': 'string'\n },\n {\n 'name': 'on_id',\n 'type': 'int'\n },\n {\n 'name': 'on_table',\n 'type': 'string'\n },\n {\n 'name': 'person_id',\n 'type': 'int'\n },\n {\n 'name': 'remarks',\n 'type': 'string'\n },\n {\n 'name': 'person_id_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_office_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_name',\n 'type': 'string'\n },\n {\n 'name': 'person_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'person_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'person_id_email',\n 'type': 'string'\n },\n {\n 'name': 'person_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_role',\n 'type': 'string'\n },\n {\n 'name': 'person_id_active',\n 'type': 'int'\n },\n {\n 'name': 'person_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'person_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'person_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_lang',\n 'type': 'string'\n },\n {\n 'name': 'person_id_no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'person_id_action_type',\n 'type': 'string'\n },\n {\n 'name': 'person_id_project_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_dt',\n 'type': 'date'\n }\n]"
208 "xtype": "PagingToolbar",
211 "displayMsg": "Displaying Events{0} - {1} of {2}",
212 "emptyMsg": "No Events found",
223 "|select": "function (combo, record, index)\n{\n _this.dategrid.ds.load({});\n}",
224 "|render": "function (_self)\n{\n _this.actionSel = _self;\n}"
227 "displayField": "action",
229 "emptyText": "Select Action",
230 "forceSelection": true,
232 "loadingText": "Searching...",
236 "qtip": "Select Action",
237 "queryParam": "query[action]",
238 "selectOnFocus": true,
239 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{action}</b> </div>",
240 "triggerAction": "all",
242 "valueField": "action",
249 "|beforeload": "function (_self, o)\n{\n o.params = o.params || {};\n // staff can see all logs, other companies can only see their own.\n if (Pman.Login.authUser.company_id_comptype != 'OWNER') {\n o.params.company_id = Pman.Login.authUser.company_id;\n }\n o.params._distinct = 'action';\n o.params._columns ='action';\n}"
254 "|sortInfo": "{ field : 'action' , direction : 'ASC' }",
260 "xtype": "HttpProxy",
261 "|url": "baseURL + '/Roo/Events.php'",
266 "xtype": "JsonReader",
267 "totalProperty": "total",
271 "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'person_name',\n 'type': 'string'\n },\n {\n 'name': 'event_when',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'action',\n 'type': 'string'\n },\n {\n 'name': 'ipaddr',\n 'type': 'string'\n },\n {\n 'name': 'on_id',\n 'type': 'int'\n },\n {\n 'name': 'on_table',\n 'type': 'string'\n },\n {\n 'name': 'person_id',\n 'type': 'int'\n },\n {\n 'name': 'remarks',\n 'type': 'string'\n },\n {\n 'name': 'person_id_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_office_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_name',\n 'type': 'string'\n },\n {\n 'name': 'person_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'person_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'person_id_email',\n 'type': 'string'\n },\n {\n 'name': 'person_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_role',\n 'type': 'string'\n },\n {\n 'name': 'person_id_active',\n 'type': 'int'\n },\n {\n 'name': 'person_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'person_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'person_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_lang',\n 'type': 'string'\n },\n {\n 'name': 'person_id_no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'person_id_action_type',\n 'type': 'string'\n },\n {\n 'name': 'person_id_project_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_dt',\n 'type': 'date'\n }\n]"
279 "|select": "function (combo, record, index)\n{\n _this.dategrid.ds.load({});\n}",
280 "|render": "function (_self)\n{\n _this.affectSel = _self;\n}"
283 "displayField": "on_table",
285 "emptyText": "Select Affects",
286 "forceSelection": true,
288 "loadingText": "Searching...",
292 "qtip": "Select Action",
293 "queryParam": "query[on_table]",
294 "selectOnFocus": true,
295 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{on_table}</b> </div>",
296 "triggerAction": "all",
298 "valueField": "action",
305 "|beforeload": "function (_self, o)\n{\n o.params = o.params || {};\n // staff can see all logs, other companies can only see their own.\n if (Pman.Login.authUser.company_id_comptype != 'OWNER') {\n o.params.company_id = Pman.Login.authUser.company_id;\n }\n o.params._distinct = 'on_table';\n o.params._columns ='on_table';\n}"
310 "|sortInfo": "{ field : 'on_table' , direction : 'ASC' }",
316 "xtype": "HttpProxy",
317 "|url": "baseURL + '/Roo/Events.php'",
322 "xtype": "JsonReader",
323 "totalProperty": "total",
327 "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'person_name',\n 'type': 'string'\n },\n {\n 'name': 'event_when',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'action',\n 'type': 'string'\n },\n {\n 'name': 'ipaddr',\n 'type': 'string'\n },\n {\n 'name': 'on_id',\n 'type': 'int'\n },\n {\n 'name': 'on_table',\n 'type': 'string'\n },\n {\n 'name': 'person_id',\n 'type': 'int'\n },\n {\n 'name': 'remarks',\n 'type': 'string'\n },\n {\n 'name': 'person_id_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_office_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_name',\n 'type': 'string'\n },\n {\n 'name': 'person_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'person_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'person_id_email',\n 'type': 'string'\n },\n {\n 'name': 'person_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_role',\n 'type': 'string'\n },\n {\n 'name': 'person_id_active',\n 'type': 'int'\n },\n {\n 'name': 'person_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'person_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'person_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_lang',\n 'type': 'string'\n },\n {\n 'name': 'person_id_no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'person_id_action_type',\n 'type': 'string'\n },\n {\n 'name': 'person_id_project_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_dt',\n 'type': 'date'\n }\n]"
336 "*prop": "colModel[]",
337 "dataIndex": "on_table",
341 "xtype": "ColumnModel",
342 "|renderer": "function(v) { return String.format('{0}', v); }",
346 "*prop": "colModel[]",
348 "header": "#Affected",
351 "xtype": "ColumnModel",
352 "|renderer": "function(v) { return String.format('{0}', v); }",
356 "*prop": "colModel[]",
361 "xtype": "ColumnModel",
362 "|renderer": "function(v) { return String.format('{0}', v); }",
371 "|activate": "function() {\n _this.detailpanel = this;\n if (_this.detailgrid) {\n _this.detailgrid.footer.onClick('first');\n }\n}"
374 "fitContainer": true,
377 "tableName": "Events",
379 "xtype": "GridPanel",
384 "|render": "function() \n{\n _this.detailgrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.detailpanel.active) {\n this.footer.onClick('first');\n }\n}"
387 "autoExpandColumn": "person_name",
394 "beforeload": "function (_self, o)\n{\n if (! _this.dategrid) {\n return false;\n }\n \n o.params = o.params || {};\n \n var s = _this.dategrid.selModel.getSelected();\n if (!s) {\n _this.detailgrid.view.el.mask(\"Select a person\");\n return false;\n }\n \n o.params.person_id = s.data.person_id; \n \n var s = _this.tablegrid.selModel.getSelected();\n if (!s) {\n _this.detailgrid.view.el.mask(\"Select a table\");\n return false;\n }\n o.params.on_table = s.data.on_table; \n \n _this.detailgrid.view.el.unmask();\n \n\n \n \n act = _this.dateFrom.getValue();\n if (act.format) {\n o.params['query[from]'] = act.format('Y-m-d');\n }\n act = _this.dateTo.getValue();\n if (act.format) {\n o.params['query[to]'] = act.format('Y-m-d');\n }\n\n //o.params['query[table_d]'] = 1;\n //o.params._columns = 'on_table,qty,uqty';\n\n \n}"
396 "*prop": "dataSource",
399 "|sortInfo": "{ field : 'person_name', direction: 'ASC' }",
404 "xtype": "HttpProxy",
406 "|url": "baseURL + '/Roo/Events.php'",
411 "xtype": "JsonReader",
412 "totalProperty": "total",
416 "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'person_name',\n 'type': 'string'\n },\n {\n 'name': 'event_when',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'action',\n 'type': 'string'\n },\n {\n 'name': 'ipaddr',\n 'type': 'string'\n },\n {\n 'name': 'on_id',\n 'type': 'int'\n },\n {\n 'name': 'on_table',\n 'type': 'string'\n },\n {\n 'name': 'person_id',\n 'type': 'int'\n },\n {\n 'name': 'remarks',\n 'type': 'string'\n },\n {\n 'name': 'person_id_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_office_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_name',\n 'type': 'string'\n },\n {\n 'name': 'person_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'person_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'person_id_email',\n 'type': 'string'\n },\n {\n 'name': 'person_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_role',\n 'type': 'string'\n },\n {\n 'name': 'person_id_active',\n 'type': 'int'\n },\n {\n 'name': 'person_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'person_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'person_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_lang',\n 'type': 'string'\n },\n {\n 'name': 'person_id_no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'person_id_action_type',\n 'type': 'string'\n },\n {\n 'name': 'person_id_project_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_dt',\n 'type': 'date'\n }\n]"
422 "xtype": "PagingToolbar",
425 "displayMsg": "Displaying Events{0} - {1} of {2}",
426 "emptyMsg": "No Events found",
430 "*prop": "colModel[]",
434 "xtype": "ColumnModel",
435 "|renderer": "function(v) { return String.format('{0}', v); }",
439 "xtype": "ColumnModel",
440 "header": "Event when",
442 "dataIndex": "event_when",
443 "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }",
445 "*prop": "colModel[]"
448 "*prop": "colModel[]",
449 "dataIndex": "action",
452 "xtype": "ColumnModel",
453 "|renderer": "function(v) { return String.format('{0}', v); }",
457 "*prop": "colModel[]",
458 "dataIndex": "ipaddr",
461 "xtype": "ColumnModel",
462 "|renderer": "function(v) { return String.format('{0}', v); }",
466 "*prop": "colModel[]",
467 "dataIndex": "on_id",
470 "xtype": "ColumnModel",
471 "|renderer": "function(v) { return String.format('{0}', v); }",
475 "xtype": "ColumnModel",
478 "dataIndex": "remarks",
479 "|renderer": "function(v) { return String.format('{0}', v); }",
481 "*prop": "colModel[]"