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 = "
| User | Reason | Your Trust |
"
@@ -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 = "| Name | Trusted | Distrusted | Status | Last Updated | Unsubscribe |
"
for (var [user, list] of lists) {
html += ""
- html += "| " + list.user + " | "
+ html += "" + "" + list.user + " | "
html += "" + list.trusted + " | "
html += "" + list.distrusted +" | "
html += "" + list.status + " | "
html += "" + list.timestamp + " | "
- html += "" + "Unsubscribe" + " | "
+ html += "" + "Unsubscribe | "
html += "
"
}
html += "
"
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
+
+