From 77bf8ecbe27a3f166c459f1bbee97889867898e3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Tue, 18 Jan 2011 07:31:17 +0100 Subject: [PATCH] Parse sender from request and set it as posting Sone. --- src/main/java/net/pterodactylus/sone/web/CreatePostPage.java | 9 +++++++-- .../java/net/pterodactylus/sone/web/ajax/CreatePostAjaxPage.java | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) 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); } } -- 2.7.4