X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FDeletePostAjaxPage.java;h=ea2310c5cc5ee644e0bc63377f1408faf9596ef2;hp=4389e577f3f38a07965f170aa4a48fa08c5e9e83;hb=a47643aed43d118ca68044f95451bb5374cdb332;hpb=bd2cbb229f68fb2535cf6010befa9c4a276d2ee6 diff --git a/src/main/java/net/pterodactylus/sone/web/ajax/DeletePostAjaxPage.java b/src/main/java/net/pterodactylus/sone/web/ajax/DeletePostAjaxPage.java index 4389e57..ea2310c 100644 --- a/src/main/java/net/pterodactylus/sone/web/ajax/DeletePostAjaxPage.java +++ b/src/main/java/net/pterodactylus/sone/web/ajax/DeletePostAjaxPage.java @@ -1,5 +1,5 @@ /* - * Sone - DeletePostAjaxPage.java - Copyright © 2010 David Roden + * Sone - DeletePostAjaxPage.java - Copyright © 2010–2012 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,8 +18,8 @@ package net.pterodactylus.sone.web.ajax; import net.pterodactylus.sone.data.Post; -import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.web.WebInterface; +import net.pterodactylus.sone.web.page.FreenetRequest; import net.pterodactylus.util.json.JsonObject; /** @@ -36,7 +36,7 @@ public class DeletePostAjaxPage extends JsonPage { * The Sone web interface */ public DeletePostAjaxPage(WebInterface webInterface) { - super("ajax/deletePost.ajax", webInterface); + super("deletePost.ajax", webInterface); } // @@ -47,21 +47,17 @@ public class DeletePostAjaxPage extends JsonPage { * {@inheritDoc} */ @Override - protected JsonObject createJsonObject(Request request) { + protected JsonObject createJsonObject(FreenetRequest request) { String postId = request.getHttpRequest().getParam("post"); - Post post = webInterface.getCore().getPost(postId); - Sone currentSone = getCurrentSone(request.getToadletContext()); - if (post == null) { - return new JsonObject().put("success", false).put("error", "invalid-post-id"); + Post post = webInterface.getCore().getPost(postId, false); + if ((post == null) || (post.getSone() == null)) { + return createErrorJsonObject("invalid-post-id"); } - if (currentSone == null) { - return new JsonObject().put("success", false).put("error", "auth-required"); + if (!webInterface.getCore().isLocalSone(post.getSone())) { + return createErrorJsonObject("not-authorized"); } - if (!post.getSone().equals(currentSone)) { - return new JsonObject().put("success", false).put("error", "not-authorized"); - } - currentSone.removePost(post); - return new JsonObject().put("success", true); + webInterface.getCore().deletePost(post); + return createSuccessJsonObject(); } }