package net.pterodactylus.sone.web.ajax;
import net.pterodactylus.sone.data.Post;
+import net.pterodactylus.sone.data.Reply;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.web.WebInterface;
import net.pterodactylus.util.json.JsonObject;
* The Sone web interface
*/
public CreateReplyAjaxPage(WebInterface webInterface) {
- super("ajax/createReply.ajax", webInterface);
+ super("createReply.ajax", webInterface);
}
//
protected JsonObject createJsonObject(Request request) {
String postId = request.getHttpRequest().getParam("post");
String text = request.getHttpRequest().getParam("text").trim();
- Sone currentSone = getCurrentSone(request.getToadletContext());
- if (currentSone == null) {
- return new JsonObject().put("success", false).put("error", "auth-required");
+ String senderId = request.getHttpRequest().getParam("sender");
+ Sone sender = webInterface.getCore().getLocalSone(senderId, false);
+ if (sender == null) {
+ sender = getCurrentSone(request.getToadletContext());
}
Post post = webInterface.getCore().getPost(postId);
if ((post == null) || (post.getSone() == null)) {
- return new JsonObject().put("success", false).put("error", "invalid-post-id");
+ return createErrorJsonObject("invalid-post-id");
}
- webInterface.getCore().createReply(currentSone, post, text);
- return new JsonObject().put("success", true);
+ Reply reply = webInterface.getCore().createReply(sender, post, text);
+ return createSuccessJsonObject().put("reply", reply.getId()).put("sone", sender.getId());
}
}