login_table_options = { "destroy": true, "language": { "search": "Search: ", "lengthMenu": "Show _MENU_ entries per page", "info": "Showing _START_ to _END_ of _TOTAL_ results", "infoEmpty": "Showing 0 to 0 of 0 entries", "infoFiltered": "(filtered from _MAX_ total entries)", "emptyTable": "No data in table", "loadingRecords": ' Loading items...' }, "stateSave": true, "pagingType": "full_numbers", "processing": false, "serverSide": true, "pageLength": 25, "order": [0, 'desc'], "autoWidth": false, "scrollX": true, "columnDefs": [ { "targets": [0], "data": "timestamp", "createdCell": function (td, cellData, rowData, row, col) { if (cellData !== '') { $(td).html(moment(cellData, "X").format('YYYY-MM-DD HH:mm:ss')); } else { $(td).html(cellData); } }, "searchable": false, "width": "10%", "className": "no-wrap" }, { "targets": [1], "data": "friendly_name", "width": "10%", "className": "no-wrap" }, { "targets": [2], "data": "user_group", "width": "10%", "className": "no-wrap" }, { "targets": [3], "data": "ip_address", "createdCell": function (td, cellData, rowData, row, col) { if (cellData) { if (isPrivateIP(cellData)) { if (cellData != '') { $(td).html(cellData); } else { $(td).html('n/a'); } } else { external_ip = ''; $(td).html('' + external_ip + cellData + ''); } } else { $(td).html('n/a'); } }, "width": "10%", "className": "no-wrap modal-control-ip" }, { "targets": [4], "data": "host", "width": "20%", "className": "no-wrap" }, { "targets": [5], "data": "os", "width": "20%", "className": "no-wrap" }, { "targets": [6], "data": "browser", "width": "20%", "className": "no-wrap" } ], "drawCallback": function (settings) { // Jump to top of page // $('html,body').scrollTop(0); $('#ajaxMsg').fadeOut(); // Create the tooltips. $('.external-ip-tooltip').tooltip({ container: 'body' }); }, "preDrawCallback": function (settings) { var msg = " Fetching rows..."; showMsg(msg, false, false, 0) } } $('.login_table').on('click', '> tbody > tr > td.modal-control-ip', function () { var tr = $(this).closest('tr'); var row = login_table.row(tr); var rowData = row.data(); function getUserLocation(ip_address) { if (isPrivateIP(ip_address)) { return "n/a" } else { $.ajax({ url: 'get_ip_address_details', data: { ip_address: ip_address }, async: true, complete: function (xhr, status) { $("#ip-info-modal").html(xhr.responseText); } }); } } getUserLocation(rowData['ip_address']); });