X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FGetStatusAjaxPage.java;h=659c8d259d3fe58c6aca7492692ea0536c36ffa3;hb=f4ea1e1b3526175e255831c975d6eea813589f25;hp=ae3dfc2b66df985eee52b25bc58ac2be0d3a5d09;hpb=6db033602e7c17efc40a4a19efe705d67832fc1a;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/ajax/GetStatusAjaxPage.java b/src/main/java/net/pterodactylus/sone/web/ajax/GetStatusAjaxPage.java index ae3dfc2..659c8d2 100644 --- a/src/main/java/net/pterodactylus/sone/web/ajax/GetStatusAjaxPage.java +++ b/src/main/java/net/pterodactylus/sone/web/ajax/GetStatusAjaxPage.java @@ -63,12 +63,15 @@ public class GetStatusAjaxPage extends JsonPage { protected JsonObject createJsonObject(Request request) { /* load Sones. */ boolean loadAllSones = Boolean.parseBoolean(request.getHttpRequest().getParam("loadAllSones", "true")); - Set sones = new HashSet(Collections.singleton(getCurrentSone(request.getToadletContext()))); + Set sones = new HashSet(Collections.singleton(getCurrentSone(request.getToadletContext(), false))); if (loadAllSones) { sones.addAll(webInterface.getCore().getSones()); } JsonArray jsonSones = new JsonArray(); for (Sone sone : sones) { + if (sone == null) { + continue; + } JsonObject jsonSone = createJsonSone(sone); jsonSones.add(jsonSone); } @@ -88,13 +91,23 @@ public class GetStatusAjaxPage extends JsonPage { Set newPosts = webInterface.getNewPosts(); JsonArray jsonPosts = new JsonArray(); for (Post post : newPosts) { - jsonPosts.add(post.getId()); + JsonObject jsonPost = new JsonObject(); + jsonPost.put("id", post.getId()); + jsonPost.put("sone", post.getSone().getId()); + jsonPost.put("recipient", (post.getRecipient() != null) ? post.getRecipient().getId() : null); + jsonPost.put("time", post.getTime()); + jsonPosts.add(jsonPost); } /* load new replies. */ Set newReplies = webInterface.getNewReplies(); JsonArray jsonReplies = new JsonArray(); for (Reply reply : newReplies) { - jsonReplies.add(reply.getId()); + JsonObject jsonReply = new JsonObject(); + jsonReply.put("id", reply.getId()); + jsonReply.put("sone", reply.getSone().getId()); + jsonReply.put("post", reply.getPost().getId()); + jsonReply.put("postSone", reply.getPost().getSone().getId()); + jsonReplies.add(jsonReply); } return createSuccessJsonObject().put("sones", jsonSones).put("notifications", jsonNotifications).put("removedNotifications", jsonRemovedNotifications).put("newPosts", jsonPosts).put("newReplies", jsonReplies); } @@ -107,6 +120,14 @@ public class GetStatusAjaxPage extends JsonPage { return false; } + /** + * {@inheritDoc} + */ + @Override + protected boolean requiresLogin() { + return false; + } + // // PRIVATE METHODS //