Move all AJAX handlers to the same directory as the HTML handlers.
[Sone.git] / src / main / java / net / pterodactylus / sone / web / ajax / GetStatusAjaxPage.java
index 831bb6f..c556314 100644 (file)
@@ -25,6 +25,8 @@ import java.util.Date;
 import java.util.List;
 import java.util.Set;
 
+import net.pterodactylus.sone.data.Post;
+import net.pterodactylus.sone.data.Reply;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.template.SoneAccessor;
 import net.pterodactylus.sone.web.WebInterface;
@@ -50,7 +52,7 @@ public class GetStatusAjaxPage extends JsonPage {
         *            The Sone web interface
         */
        public GetStatusAjaxPage(WebInterface webInterface) {
-               super("ajax/getStatus.ajax", webInterface);
+               super("getStatus.ajax", webInterface);
        }
 
        /**
@@ -78,7 +80,19 @@ public class GetStatusAjaxPage extends JsonPage {
                for (Notification notification : removedNotifications) {
                        jsonRemovedNotifications.add(createJsonNotification(notification));
                }
-               return createSuccessJsonObject().put("sones", jsonSones).put("notifications", jsonNotifications).put("removedNotifications", jsonRemovedNotifications);
+               /* load new posts. */
+               Set<Post> newPosts = webInterface.getNewPosts();
+               JsonArray jsonPosts = new JsonArray();
+               for (Post post : newPosts) {
+                       jsonPosts.add(post.getId());
+               }
+               /* load new replies. */
+               Set<Reply> newReplies = webInterface.getNewReplies();
+               JsonArray jsonReplies = new JsonArray();
+               for (Reply reply : newReplies) {
+                       jsonReplies.add(reply.getId());
+               }
+               return createSuccessJsonObject().put("sones", jsonSones).put("notifications", jsonNotifications).put("removedNotifications", jsonRemovedNotifications).put("newPosts", jsonPosts).put("newReplies", jsonReplies);
        }
 
        /**