1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
5 Roo.namespace('Pman.Tab');
7 Pman.Tab.AdminLogEvents = new Roo.XComponent({
8 part : ["Admin", "LogEvents" ],
9 order : '001-Pman.Tab.AdminLogEvents',
11 parent : 'Pman.Tab.AdminLogs',
12 name : "Admin - Logs - Events",
14 permname : 'Admin.Logs',
23 xtype : 'LayoutRegion',
29 xtype : 'LayoutRegion',
35 xtype : 'BorderLayout',
42 xtype : 'ContentPanel',
45 render : function (_self)
47 _this.viewPanel = _self;
55 xtype : 'RowSelectionModel',
59 afterselectionchange : function (_self)
61 // load detail log in _this.viewPanel;
62 if (!this.getSelected()) {
63 this.viewPanel.setContent("Nothing Selected");
66 var id = this.getSelected().data.id;
67 _this.viewPanel.load( { url : baseURL + "/Admin/EventView/" + id + ".html" });
85 'name': 'person_name',
118 'name': 'person_id_id',
122 'name': 'person_id_office_id',
126 'name': 'person_id_name',
130 'name': 'person_id_phone',
134 'name': 'person_id_fax',
138 'name': 'person_id_email',
142 'name': 'person_id_company_id',
146 'name': 'person_id_role',
150 'name': 'person_id_active',
154 'name': 'person_id_remarks',
158 'name': 'person_id_passwd',
162 'name': 'person_id_owner_id',
166 'name': 'person_id_lang',
170 'name': 'person_id_no_reset_sent',
174 'name': 'person_id_action_type',
178 'name': 'person_id_project_id',
182 'name': 'person_id_deleted_by',
186 'name': 'person_id_deleted_dt',
190 totalProperty : 'total'
194 url : baseURL + '/Roo/Events.php',
202 sortInfo : { field: 'event_when', direction: 'DESC'},
205 beforeload : function (_self, o)
207 if (!Pman.buildCompleted) {
212 if (! _this.personSel) {
215 o.params = o.params || {};
216 o.params.person_id = _this.personSel.getValue();
217 var act = _this.actionSel.getValue();
219 o.params.action = act;
221 var tbl = _this.affectSel.getValue();
223 o.params.on_table = tbl;
225 act = _this.dateFrom.getValue();
227 o.params['query[from]'] = act.format('Y-m-d');
229 act = _this.dateTo.getValue();
231 o.params['query[to]'] = act.format('Y-m-d');
236 act = _this.groupedCombo.getValue();
237 o.params['query[grouped]'] = act;
238 if (o.params['query[grouped]'] == 'gr') {
241 Roo.MessageBox.alert("Error", "Select a table to group results on");
244 // o.params['_columns'] =
245 o.params['_distinct'] = 'on_id';
263 xtype : 'PagingToolbar',
264 emptyMsg : "No Events found",
267 displayMsg : "Displaying Events {0} - {1} of {2}",
270 '|xns' : 'Roo.Toolbar',
271 text : "Download to Excel",
275 click : function (_self, e)
279 'sort' : 'event_when',
283 person_id : _this.personSel.getValue(),
284 'csvTitles[0]' : 'When', 'csvCols[0]' : 'event_when',
285 'csvTitles[1]' : 'Staff', 'csvCols[1]' : 'person_id_name',
286 'csvTitles[2]' : 'Action', 'csvCols[2]' : 'action',
287 'csvTitles[3]' : 'Record ID', 'csvCols[3]' : 'on_id' ,
288 'csvTitles[4]' : 'Record Type', 'csvCols[4]' : 'on_table',
289 'csvTitles[5]' : 'Remarks', 'csvCols[5]' : 'remarks'
292 params.person_id = _this.personSel.getValue();
293 var act = _this.actionSel.getValue();
297 var tbl = _this.affectSel.getValue();
299 params.on_table = tbl;
301 act = _this.dateFrom.getValue();
303 params['query[from]'] = act.format('Y-m-d');
305 act = _this.dateTo.getValue();
307 params['query[to]'] = act.format('Y-m-d');
313 url : baseURL + '/Roo/Events.php',
330 '|xns' : 'Roo.Toolbar',
339 url : baseURL + '/Roo/Person.php',
348 xtype : 'JsonReader',
375 'name': 'company_id',
403 'name': 'no_reset_sent',
407 'name': 'action_type',
411 'name': 'project_id',
415 'name': 'deleted_by',
419 'name': 'deleted_dt',
421 'dateFormat': 'Y-m-d'
424 'name': 'office_id_id',
428 'name': 'office_id_company_id',
432 'name': 'office_id_name',
436 'name': 'office_id_address',
440 'name': 'office_id_phone',
444 'name': 'office_id_fax',
448 'name': 'office_id_email',
452 'name': 'office_id_role',
456 'name': 'company_id_code',
460 'name': 'company_id_name',
464 'name': 'company_id_remarks',
468 'name': 'company_id_owner_id',
472 'name': 'company_id_address',
476 'name': 'company_id_tel',
480 'name': 'company_id_fax',
484 'name': 'company_id_email',
488 'name': 'company_id_id',
492 'name': 'company_id_isOwner',
496 'name': 'company_id_logo_id',
500 'name': 'company_id_background_color',
504 'name': 'company_id_comptype',
508 'name': 'company_id_url',
512 'name': 'company_id_main_office_id',
516 'name': 'company_id_created_by',
520 'name': 'company_id_created_dt',
524 'name': 'company_id_updated_by',
528 'name': 'company_id_updated_dt',
532 'name': 'company_id_passwd',
536 'name': 'company_id_dispatch_port',
540 'name': 'company_id_province',
544 'name': 'company_id_country',
548 'name': 'project_id_id',
552 'name': 'project_id_name',
556 'name': 'project_id_remarks',
560 'name': 'project_id_owner_id',
564 'name': 'project_id_code',
568 'name': 'project_id_active',
572 'name': 'project_id_type',
576 'name': 'project_id_client_id',
580 'name': 'project_id_team_id',
584 'name': 'project_id_file_location',
588 'name': 'project_id_open_date',
592 'name': 'project_id_open_by',
596 'name': 'project_id_close_date',
600 'name': 'project_id_countries',
604 'name': 'project_id_languages',
608 'name': 'project_id_agency_id',
612 'name': 'owner_id_id',
616 'name': 'owner_id_office_id',
620 'name': 'owner_id_name',
624 'name': 'owner_id_phone',
628 'name': 'owner_id_fax',
632 'name': 'owner_id_email',
636 'name': 'owner_id_company_id',
640 'name': 'owner_id_role',
644 'name': 'owner_id_active',
648 'name': 'owner_id_remarks',
652 'name': 'owner_id_passwd',
656 'name': 'owner_id_owner_id',
660 'name': 'owner_id_lang',
664 'name': 'owner_id_no_reset_sent',
668 'name': 'owner_id_action_type',
672 'name': 'owner_id_project_id',
676 'name': 'owner_id_deleted_by',
680 'name': 'owner_id_deleted_dt',
685 totalProperty : 'total'
690 sortInfo : { field : 'name' , direction : 'ASC' },
693 beforeload : function (_self, o)
695 o.params = o.params || {};
696 o.params.company_id = Pman.Login.authUser.company_id;
706 triggerAction : 'all',
707 fieldLabel : 'Person ',
708 forceSelection : true,
709 selectOnFocus : true,
711 displayField : 'name',
712 emptyText : "Select Person ",
721 name : 'person_id_name',
722 qtip : "Select Person ",
723 queryParam : 'query[name]',
724 tpl : '<div class=\"x-grid-cell-text x-btn button\"><b>{name}</b> ({company_id_name}) <{email}> </div>',
725 loadingText : "Searching...",
727 render : function (_self)
729 _this.personSel = _self;
731 select : function (combo, record, index)
733 _this.grid.footer.onClick('first');
746 url : baseURL + '/Roo/Person.php',
755 xtype : 'JsonReader',
782 'name': 'company_id',
810 'name': 'no_reset_sent',
814 'name': 'action_type',
818 'name': 'project_id',
822 'name': 'deleted_by',
826 'name': 'deleted_dt',
828 'dateFormat': 'Y-m-d'
831 'name': 'office_id_id',
835 'name': 'office_id_company_id',
839 'name': 'office_id_name',
843 'name': 'office_id_address',
847 'name': 'office_id_phone',
851 'name': 'office_id_fax',
855 'name': 'office_id_email',
859 'name': 'office_id_role',
863 'name': 'company_id_code',
867 'name': 'company_id_name',
871 'name': 'company_id_remarks',
875 'name': 'company_id_owner_id',
879 'name': 'company_id_address',
883 'name': 'company_id_tel',
887 'name': 'company_id_fax',
891 'name': 'company_id_email',
895 'name': 'company_id_id',
899 'name': 'company_id_isOwner',
903 'name': 'company_id_logo_id',
907 'name': 'company_id_background_color',
911 'name': 'company_id_comptype',
915 'name': 'company_id_url',
919 'name': 'company_id_main_office_id',
923 'name': 'company_id_created_by',
927 'name': 'company_id_created_dt',
931 'name': 'company_id_updated_by',
935 'name': 'company_id_updated_dt',
939 'name': 'company_id_passwd',
943 'name': 'company_id_dispatch_port',
947 'name': 'company_id_province',
951 'name': 'company_id_country',
955 'name': 'project_id_id',
959 'name': 'project_id_name',
963 'name': 'project_id_remarks',
967 'name': 'project_id_owner_id',
971 'name': 'project_id_code',
975 'name': 'project_id_active',
979 'name': 'project_id_type',
983 'name': 'project_id_client_id',
987 'name': 'project_id_team_id',
991 'name': 'project_id_file_location',
995 'name': 'project_id_open_date',
999 'name': 'project_id_open_by',
1003 'name': 'project_id_close_date',
1007 'name': 'project_id_countries',
1011 'name': 'project_id_languages',
1015 'name': 'project_id_agency_id',
1019 'name': 'owner_id_id',
1023 'name': 'owner_id_office_id',
1027 'name': 'owner_id_name',
1031 'name': 'owner_id_phone',
1035 'name': 'owner_id_fax',
1039 'name': 'owner_id_email',
1043 'name': 'owner_id_company_id',
1047 'name': 'owner_id_role',
1051 'name': 'owner_id_active',
1055 'name': 'owner_id_remarks',
1059 'name': 'owner_id_passwd',
1063 'name': 'owner_id_owner_id',
1067 'name': 'owner_id_lang',
1071 'name': 'owner_id_no_reset_sent',
1075 'name': 'owner_id_action_type',
1079 'name': 'owner_id_project_id',
1083 'name': 'owner_id_deleted_by',
1087 'name': 'owner_id_deleted_dt',
1092 totalProperty : 'total'
1094 '|xns' : 'Roo.data',
1097 sortInfo : { field : 'name' , direction : 'ASC' },
1100 beforeload : function (_self, o)
1102 o.params = o.params || {};
1103 o.params.company_id = Pman.Login.authUser.company_id;
1111 '|xns' : 'Roo.form',
1113 triggerAction : 'all',
1114 fieldLabel : 'Person ',
1115 forceSelection : true,
1116 selectOnFocus : true,
1118 displayField : 'name',
1119 emptyText : "Select Person ",
1128 name : 'person_id_name',
1129 qtip : "Select Person ",
1130 queryParam : 'query[name]',
1131 tpl : '<div class=\"x-grid-cell-text x-btn button\"><b>{name}</b> ({company_id_name}) <{email}> </div>',
1132 loadingText : "Searching...",
1134 render : function (_self)
1136 _this.personSel = _self;
1138 select : function (combo, record, index)
1140 _this.grid.footer.onClick('first');
1152 '|xns' : 'Roo.data',
1153 url : baseURL + '/Roo/Events.php',
1154 xtype : 'HttpProxy',
1159 '|xns' : 'Roo.data',
1162 xtype : 'JsonReader',
1169 'name': 'person_name',
1173 'name': 'event_when',
1175 'dateFormat': 'Y-m-d'
1194 'name': 'person_id',
1202 'name': 'person_id_id',
1206 'name': 'person_id_office_id',
1210 'name': 'person_id_name',
1214 'name': 'person_id_phone',
1218 'name': 'person_id_fax',
1222 'name': 'person_id_email',
1226 'name': 'person_id_company_id',
1230 'name': 'person_id_role',
1234 'name': 'person_id_active',
1238 'name': 'person_id_remarks',
1242 'name': 'person_id_passwd',
1246 'name': 'person_id_owner_id',
1250 'name': 'person_id_lang',
1254 'name': 'person_id_no_reset_sent',
1258 'name': 'person_id_action_type',
1262 'name': 'person_id_project_id',
1266 'name': 'person_id_deleted_by',
1270 'name': 'person_id_deleted_dt',
1275 totalProperty : 'total'
1277 '|xns' : 'Roo.data',
1280 sortInfo : { field : 'action' , direction : 'ASC' },
1283 beforeload : function (_self, o)
1285 o.params = o.params || {};
1286 // staff can see all logs, other companies can only see their own.
1287 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
1288 o.params.company_id = Pman.Login.authUser.company_id;
1290 o.params._distinct = 'action';
1291 o.params._columns ='action';
1299 '|xns' : 'Roo.form',
1301 triggerAction : 'all',
1302 forceSelection : true,
1303 selectOnFocus : true,
1305 displayField : 'action',
1306 emptyText : "Select Action",
1308 valueField : 'action',
1316 qtip : "Select Action",
1317 queryParam : 'query[action]',
1318 tpl : '<div class=\"x-grid-cell-text x-btn button\"><b>{action}</b> </div>',
1319 loadingText : "Searching...",
1321 render : function (_self)
1323 _this.actionSel = _self;
1325 select : function (combo, record, index)
1327 _this.grid.footer.onClick('first');
1338 '|xns' : 'Roo.data',
1339 url : baseURL + '/Roo/Events.php',
1340 xtype : 'HttpProxy',
1345 '|xns' : 'Roo.data',
1348 xtype : 'JsonReader',
1356 'name': 'person_name',
1360 'name': 'event_when',
1362 'dateFormat': 'Y-m-d'
1381 'name': 'person_id',
1389 'name': 'person_id_id',
1393 'name': 'person_id_office_id',
1397 'name': 'person_id_name',
1401 'name': 'person_id_phone',
1405 'name': 'person_id_fax',
1409 'name': 'person_id_email',
1413 'name': 'person_id_company_id',
1417 'name': 'person_id_role',
1421 'name': 'person_id_active',
1425 'name': 'person_id_remarks',
1429 'name': 'person_id_passwd',
1433 'name': 'person_id_owner_id',
1437 'name': 'person_id_lang',
1441 'name': 'person_id_no_reset_sent',
1445 'name': 'person_id_action_type',
1449 'name': 'person_id_project_id',
1453 'name': 'person_id_deleted_by',
1457 'name': 'person_id_deleted_dt',
1461 totalProperty : 'total'
1463 '|xns' : 'Roo.data',
1466 sortInfo : { field : 'on_table' , direction : 'ASC' },
1469 beforeload : function (_self, o)
1471 o.params = o.params || {};
1472 // staff can see all logs, other companies can only see their own.
1473 if (Pman.Login.authUser.company_id_comptype != 'OWNER') {
1474 o.params.company_id = Pman.Login.authUser.company_id;
1476 o.params._distinct = 'on_table';
1477 o.params._columns ='on_table';
1485 '|xns' : 'Roo.form',
1487 triggerAction : 'all',
1488 forceSelection : true,
1489 selectOnFocus : true,
1491 displayField : 'on_table',
1492 emptyText : "Select Affects",
1494 valueField : 'action',
1502 qtip : "Select Action",
1503 queryParam : 'query[on_table]',
1504 tpl : '<div class=\"x-grid-cell-text x-btn button\"><b>{on_table}</b> </div>',
1505 loadingText : "Searching...",
1507 render : function (_self)
1509 _this.affectSel = _self;
1511 select : function (combo, record, index)
1513 _this.grid.footer.onClick('first');
1522 '|xns' : 'Roo.Toolbar',
1523 text : "Date Range",
1528 '|xns' : 'Roo.form',
1530 xtype : 'DateField',
1533 render : function (_self)
1535 _this.dateFrom = _self;
1537 change : function (_self, newValue, oldValue)
1539 _this.grid.footer.onClick('first');
1544 '|xns' : 'Roo.form',
1546 xtype : 'DateField',
1549 render : function (_self)
1551 _this.dateTo = _self;
1553 change : function (_self, newValue, oldValue)
1555 _this.grid.footer.onClick('first');
1562 '|xns' : 'Roo.grid',
1563 autoExpandColumn : 'remarks',
1569 '|xns' : 'Roo.grid',
1570 xtype : 'ColumnModel',
1573 renderer : function(v) { return v ? v.dateFormat('d/m/Y H:i') : ''; },
1575 dataIndex : 'event_when'
1578 '|xns' : 'Roo.grid',
1579 xtype : 'ColumnModel',
1586 '|xns' : 'Roo.grid',
1587 xtype : 'ColumnModel',
1590 renderer : function(v,x,r) {
1592 var efield = typeof(_this.email_field) == 'undefined' ? 'person_id_email' : _this.email_field;
1593 var nfield = typeof(_this.name_field) == 'undefined' ? 'person_id_name' : _this.name_field;
1595 Roo.log([r, efield, nfield]);
1597 var email = r.json[efield]; // ? r.data.person_id_email : r.data.person_id_email;
1598 var name = r.json[nfield]; // ? r.data.person_id_name : r.data.person_id_name;
1599 return String.format('{0} <<a href="mailto:{1}">{1}</a>>',
1605 dataIndex : 'person_id_name'
1608 '|xns' : 'Roo.grid',
1609 xtype : 'ColumnModel',
1612 renderer : function(v) { return String.format('{0}', v); },
1614 dataIndex : 'action'
1617 '|xns' : 'Roo.grid',
1618 xtype : 'ColumnModel',
1621 renderer : function(v) { return String.format('{0}', v); },
1623 dataIndex : 'ipaddr'
1626 '|xns' : 'Roo.grid',
1627 xtype : 'ColumnModel',
1628 header : 'Affected',
1630 renderer : function(v, x, r) {
1631 return v ? String.format('{0}({1})', v, r.data.on_id) : '';
1634 dataIndex : 'on_table'
1637 '|xns' : 'Roo.grid',
1638 xtype : 'ColumnModel',
1641 renderer : function(v) { return String.format('<span qtip="{1}">{0}</span>', v, Roo.util.Format.htmlEncode(v)); },
1643 dataIndex : 'remarks'
1647 render : function() {
1649 //_this.dialog = Pman.Dialog.FILL_IN
1650 if (_this.panel.active) {
1651 this.footer.onClick('first');
1665 xtype : 'GridPanel',
1666 fitContainer : true,
1668 tableName : 'Events',
1670 activate : function() {
1673 _this.grid.footer.onClick('first');
1687 xtype : 'NestedLayoutPanel',