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);
}
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);
}
}