Parse sender from request and set it as posting Sone.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Tue, 18 Jan 2011 06:31:17 +0000 (07:31 +0100)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Tue, 18 Jan 2011 06:31:17 +0000 (07:31 +0100)
src/main/java/net/pterodactylus/sone/web/CreatePostPage.java
src/main/java/net/pterodactylus/sone/web/ajax/CreatePostAjaxPage.java

index aba4700..ef88fd6 100644 (file)
@@ -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);
index 1e45a60..eff7c41 100644 (file)
@@ -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);
        }
 
 }