Return local Sones from core and web interface.
[Sone.git] / src / main / java / net / pterodactylus / sone / web / CreatePostPage.java
index 0590f72..d66690e 100644 (file)
@@ -19,6 +19,7 @@ package net.pterodactylus.sone.web;
 
 import com.google.common.base.Optional;
 
+import net.pterodactylus.sone.data.LocalSone;
 import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.text.TextFilter;
@@ -62,14 +63,13 @@ public class CreatePostPage extends SoneTemplatePage {
                        if (text.length() != 0) {
                                String senderId = request.getHttpRequest().getPartAsStringFailsafe("sender", 43);
                                String recipientId = request.getHttpRequest().getPartAsStringFailsafe("recipient", 43);
-                               Sone currentSone = getCurrentSone(request.getToadletContext()).get();
-                               Sone sender = webInterface.getCore().getLocalSone(senderId);
-                               if (sender == null) {
-                                       sender = currentSone;
-                               }
                                Optional<Sone> recipient = webInterface.getCore().getSone(recipientId);
+                               Optional<LocalSone> sender = webInterface.getCore().getLocalSone(senderId);
+                               if (!sender.isPresent()) {
+                                       sender = getCurrentSone(request.getToadletContext());
+                               }
                                text = TextFilter.filter(request.getHttpRequest().getHeader("host"), text);
-                               webInterface.getCore().createPost(sender, recipient, text);
+                               webInterface.getCore().createPost(sender.get(), recipient, text);
                                throw new RedirectException(returnPage);
                        }
                        templateContext.set("errorTextEmpty", true);