wip on trust users view
This commit is contained in:
@ -28,8 +28,8 @@ public class TrustServlet extends HttpServlet {
|
||||
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
||||
String action = req.getParameter("action");
|
||||
if (action == null) {
|
||||
String section = req.getParameter("section");
|
||||
if (section == null) {
|
||||
resp.sendError(403, "Bad action param");
|
||||
return;
|
||||
}
|
||||
@ -37,9 +37,9 @@ public class TrustServlet extends HttpServlet {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("<?xml version='1.0' encoding='UTF-8'?>");
|
||||
|
||||
if (action.equals("revision")) {
|
||||
if (section.equals("revision")) {
|
||||
sb.append("<Revision>").append(trustManager.getRevision()).append("</Revision>");
|
||||
} else if (action.equals("users")) {
|
||||
} else if (section.equals("users")) {
|
||||
sb.append("<Users>");
|
||||
|
||||
sb.append("<Trusted>");
|
||||
@ -56,7 +56,7 @@ public class TrustServlet extends HttpServlet {
|
||||
|
||||
sb.append("</Users>");
|
||||
|
||||
} else if (action.equals("subscriptions")) {
|
||||
} else if (section.equals("subscriptions")) {
|
||||
sb.append("<Subscriptions>");
|
||||
|
||||
for (RemoteTrustList list : core.getTrustSubscriber().getRemoteTrustLists().values()) {
|
||||
@ -70,7 +70,7 @@ public class TrustServlet extends HttpServlet {
|
||||
|
||||
sb.append("</Subscriptions>");
|
||||
|
||||
} else if (action.equals("list")) {
|
||||
} else if (section.equals("list")) {
|
||||
String userB64 = req.getParameter("user");
|
||||
Persona p;
|
||||
try {
|
||||
|
83
webui/src/main/js/trustUsers.js
Normal file
83
webui/src/main/js/trustUsers.js
Normal file
@ -0,0 +1,83 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
var trusted = new Map()
|
||||
var distrusted = new Map()
|
||||
var revision = -1
|
||||
|
||||
function updateTable(map, divId) {
|
||||
var divElement = document.getElementById(divId)
|
||||
var tableHtml = "<table><thead><tr><th>User</th><th>Reason</th><th>Actions</th></tr></thead><tbody>"
|
||||
|
||||
var isTrusted = (map == trusted)
|
||||
for (var [ignored, user] of map) {
|
||||
tableHtml += "<tr>"
|
||||
tableHtml += "<td>" + user.user + "</td>"
|
||||
tableHtml += "<td>" + user.reason + "</td>"
|
||||
|
||||
if (isTrusted)
|
||||
tableHtml += "<td>Mark Neutral Mark Distrusted</td>
|
||||
else
|
||||
tableHtml += "<td>Mark Neutral Mark Trusted</td>"
|
||||
|
||||
tableHtml += "</tr>"
|
||||
}
|
||||
tableHtml += "</tbody></table>"
|
||||
divElement.innerHTML = tableHtml
|
||||
}
|
||||
|
||||
function refreshUsers() {
|
||||
var xmlhttp = new XMLHttpRequest()
|
||||
xmlhttp.onreadystatechange = function() {
|
||||
if (this.readyState == 4 && this.status == 200) {
|
||||
trusted.clear()
|
||||
distrusted.clear()
|
||||
var trustedElement = this.responseXML.getElementsByTagName("Trusted")
|
||||
var trustedUsers = trustedElement.getElementsByTagName("Persona")
|
||||
var i
|
||||
for (i = 0; i < trustedUsers.length; i++) {
|
||||
var persona = new Persona(trustedUsers[i])
|
||||
trusted.set(persona.user, persona)
|
||||
}
|
||||
|
||||
var distrustedElement = this.responseXML.getElementsByTagName("Distrusted")
|
||||
var distrustedUsers = distrustedElement.getElementsByTagName("Persona")
|
||||
for (i = 0; i < distrustedUsers.length; i++) {
|
||||
var persona = new Persona(distrustedUsers[i])
|
||||
distrusted.set(persona.user, persona)
|
||||
}
|
||||
|
||||
updateTable(trusted, "trustedUsers")
|
||||
updateTable(distrusted, "distrustedUsers")
|
||||
|
||||
}
|
||||
}
|
||||
xmlhttp.open("GET", "/MuWire/Trust?section=users", true)
|
||||
xmlhttp.send()
|
||||
}
|
||||
|
||||
function fetchRevision() {
|
||||
var xmlhttp = new XMLHttpRequest()
|
||||
xmlhttp.onreadystatechange = function() {
|
||||
if (this.readyState == 4 && this.status == 200) {
|
||||
var xmlDoc = this.responseXML
|
||||
var newRevision = xmlDoc.childNodes[0].nodeValue
|
||||
if (newRevision > revision) {
|
||||
revision = newRevision
|
||||
refreshUsers()
|
||||
}
|
||||
}
|
||||
}
|
||||
xmlhttp.open("GET", "/MuWire/Trust?section=revision", true)
|
||||
xmlhttp.send()
|
||||
}
|
||||
|
||||
function initTrustUsers() {
|
||||
setTimeout(fetchRevision, 1)
|
||||
setInterval(fetchRevision, 3000)
|
||||
}
|
39
webui/src/main/webapp/TrustUsers.jsp
Normal file
39
webui/src/main/webapp/TrustUsers.jsp
Normal file
@ -0,0 +1,39 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@include file="initcode.jsi"%>
|
||||
|
||||
<%
|
||||
|
||||
String pagetitle="Trust Users";
|
||||
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<%@ include file="css.jsi"%>
|
||||
<script src="js/util.js?<%=version%>" type="text/javascript"></script>
|
||||
<script src="js/trustUsers.js?<%=version%>" type="text/javascript"></script>
|
||||
|
||||
</head>
|
||||
<body onload="initConnectionsCount(); initTrustUsers();">
|
||||
<%@ include file="header.jsi"%>
|
||||
<aside>
|
||||
<%@include file="sidebar.jsi"%>
|
||||
</aside>
|
||||
<section class="main foldermain">
|
||||
<div id="table-wrapper">
|
||||
<div id="table-scroll">
|
||||
<div id="trustedUsers"></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr/>
|
||||
<div id="refresh-link"></div>
|
||||
<div id="table-wrapper">
|
||||
<div id="table-scroll">
|
||||
<div id="distrustedUsers"></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr/>
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
@ -118,4 +118,9 @@ Mappings without the .jsp suffix
|
||||
<url-pattern>/init</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>com.muwire.webui.TrustUsers_jsp</servlet-name>
|
||||
<url-pattern>/TrustUsers</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
</web-app>
|
||||
|
Reference in New Issue
Block a user