From: David ‘Bombe’ Roden Date: Tue, 18 Jan 2011 06:31:17 +0000 (+0100) Subject: Parse sender from request and set it as posting Sone. X-Git-Tag: 0.4.2^2~30^2~7 X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=77bf8ecbe27a3f166c459f1bbee97889867898e3;p=Sone.git Parse sender from request and set it as posting Sone. --- diff --git a/src/main/java/net/pterodactylus/sone/web/CreatePostPage.java b/src/main/java/net/pterodactylus/sone/web/CreatePostPage.java index aba4700..ef88fd6 100644 --- a/src/main/java/net/pterodactylus/sone/web/CreatePostPage.java +++ b/src/main/java/net/pterodactylus/sone/web/CreatePostPage.java @@ -56,10 +56,15 @@ public class CreatePostPage extends SoneTemplatePage { if (request.getMethod() == Method.POST) { String text = request.getHttpRequest().getPartAsStringFailsafe("text", 65536).trim(); if (text.length() != 0) { + String senderId = request.getHttpRequest().getPartAsStringFailsafe("sender", 43); String recipientId = request.getHttpRequest().getPartAsStringFailsafe("recipient", 43); - Sone recipient = webInterface.getCore().getSone(recipientId, false); Sone currentSone = getCurrentSone(request.getToadletContext()); - webInterface.getCore().createPost(currentSone, recipient, System.currentTimeMillis(), text); + Sone sender = webInterface.getCore().getLocalSone(senderId, false); + if (sender == null) { + sender = currentSone; + } + Sone recipient = webInterface.getCore().getSone(recipientId, false); + webInterface.getCore().createPost(sender, recipient, System.currentTimeMillis(), text); throw new RedirectException(returnPage); } dataProvider.set("errorTextEmpty", true); diff --git a/src/main/java/net/pterodactylus/sone/web/ajax/CreatePostAjaxPage.java b/src/main/java/net/pterodactylus/sone/web/ajax/CreatePostAjaxPage.java index 1e45a60..eff7c41 100644 --- a/src/main/java/net/pterodactylus/sone/web/ajax/CreatePostAjaxPage.java +++ b/src/main/java/net/pterodactylus/sone/web/ajax/CreatePostAjaxPage.java @@ -50,12 +50,17 @@ public class CreatePostAjaxPage extends JsonPage { } String recipientId = request.getHttpRequest().getParam("recipient"); Sone recipient = webInterface.getCore().getSone(recipientId, false); + String senderId = request.getHttpRequest().getParam("sender"); + Sone sender = webInterface.getCore().getLocalSone(senderId, false); + if (sender == null) { + sender = sone; + } String text = request.getHttpRequest().getParam("text"); if ((text == null) || (text.trim().length() == 0)) { return createErrorJsonObject("text-required"); } - Post newPost = webInterface.getCore().createPost(sone, recipient, text); - return createSuccessJsonObject().put("postId", newPost.getId()); + Post newPost = webInterface.getCore().createPost(sender, recipient, text); + return createSuccessJsonObject().put("postId", newPost.getId()).put("sone", sender.getId()).put("recipient", (newPost.getRecipient() != null) ? newPost.getRecipient().getId() : null); } }