diff --git a/account/assets/css/style.css b/account/assets/css/style.css index 52547f1..5a9ced0 100644 --- a/account/assets/css/style.css +++ b/account/assets/css/style.css @@ -29,3 +29,9 @@ body { cursor:pointer; } /* General End */ + +/* IP Filter Modal Start */ +._js_delete-filtered-ip { + cursor:pointer; +} +/* IP Filter Modal End */ diff --git a/account/assets/js/panelHandlers/security/ip_list.js b/account/assets/js/panelHandlers/security/ip_list.js index 211d248..f61d72b 100644 --- a/account/assets/js/panelHandlers/security/ip_list.js +++ b/account/assets/js/panelHandlers/security/ip_list.js @@ -43,7 +43,7 @@ function listFilteredIPs(type) { if(xhr.response != undefined && xhr.response.length != 0) { jsonResponse = JSON.parse(xhr.response) jQuery.each(jsonResponse, function(k, v) { - ipModal.find('._js_currently-filtered-ips').append("
  • "+v.ip+"
  • "); + ipModal.find('._js_currently-filtered-ips').append('
  • '+v.ip+'
  • '); }); } else { diff --git a/account/assets/js/panelHandlers/security/unfilter_ip.js b/account/assets/js/panelHandlers/security/unfilter_ip.js new file mode 100644 index 0000000..ff590a6 --- /dev/null +++ b/account/assets/js/panelHandlers/security/unfilter_ip.js @@ -0,0 +1,32 @@ +var ipModal = jQuery('.ip-filter-modal'); + +jQuery(document).on('click', '._js_delete-filtered-ip', function(e){ + e.preventDefault(); + + var ip = jQuery(this).text(); + var id = jQuery(this).attr('data'); + + var ensure = confirm('Are you sure you want to delete the IP filter for ' + ip + '?'); + if (ensure) { + var requestData = {}; + requestData["id"] = parseInt(id); + + var xhr = new XMLHttpRequest(); + xhr.open('UPDATE', 'api/ip/unfilter', true); + xhr.send(JSON.stringify(requestData)); + + xhr.onloadend = function() { + if(xhr.status == 204) { + listFilteredIPs(ipModal.find('input[name="type"]').val()); + } + else { + if(xhr.response != undefined && xhr.response.length != 0) { + alert("Error: " + xhr.response); + } + else { + alert("An error has occurred, if the problem persists please contact your administrator."); + } + } + } + } +}); diff --git a/account/gPanel.html b/account/gPanel.html index a665aeb..b01afff 100644 --- a/account/gPanel.html +++ b/account/gPanel.html @@ -70,6 +70,7 @@

    Currently Filtered IPs

    +
    Click on a filtered IP to delete it.