diff --git a/webui/src/main/js/trustLists.js b/webui/src/main/js/trustLists.js index f4072cd6..d4b5f08f 100644 --- a/webui/src/main/js/trustLists.js +++ b/webui/src/main/js/trustLists.js @@ -13,7 +13,11 @@ class Persona { constructor(xmlNode) { this.user = xmlNode.getElementsByTagName("User")[0].childNodes[0].nodeValue this.userB64 = xmlNode.getElementsByTagName("UserB64")[0].childNodes[0].nodeValue - this.reason = xmlNode.getElementsByTagName("Reason")[0].childNodes[0].nodeValue + try { + this.reason = xmlNode.getElementsByTagName("Reason")[0].childNodes[0].nodeValue + } catch (ignore) { + this.reason = "" + } this.status = xmlNode.getElementsByTagName("Status")[0].childNodes[0].nodeValue } } @@ -22,6 +26,18 @@ var lists = new Map() var revision = -1 var currentUser = null +function unsubscribe(user) { + var xmlhttp = new XMLHttpRequest() + xmlhttp.onreadystatechange = function() { + if (this.readyState == 4 && this.status == 200) { + refreshLists() + } + } + xmlhttp.open("POST","/MuWire/Trust", true) + xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); + xmlhttp.send("action=unsubscribe&persona=" + user) +} + function updateDiv(name, list) { var html = "" @@ -76,6 +92,7 @@ function refreshLists() { var xmlhttp = new XMLHttpRequest() xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { + lists.clear() var subs = this.responseXML.getElementsByTagName("Subscription") var i for (i = 0; i < subs.length; i++) { @@ -87,12 +104,12 @@ function refreshLists() { var html = "
UserReasonYour Trust
" for (var [user, list] of lists) { html += "" - html += "" + html += "" html += "" html += "" html += "" html += "" - html += "" + html += "" html += "" } html += "
NameTrustedDistrustedStatusLast UpdatedUnsubscribe
" + list.user + "" + "" + list.user + "" + list.trusted + "" + list.distrusted +"" + list.status + "" + list.timestamp + "" + "Unsubscribe" + "" + "Unsubscribe
" diff --git a/webui/templates/web.xml.template b/webui/templates/web.xml.template index e7da5496..6dd01754 100644 --- a/webui/templates/web.xml.template +++ b/webui/templates/web.xml.template @@ -123,4 +123,9 @@ Mappings without the .jsp suffix /TrustUsers + + com.muwire.webui.TrustLists_jsp + /TrustLists + +