Add base JSON page that requires a logged-in user
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / ajax / CreateReplyAjaxPage.kt
index 7cf2e1e..c8f9317 100644 (file)
@@ -1,5 +1,6 @@
 package net.pterodactylus.sone.web.ajax
 
+import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.text.TextFilter
 import net.pterodactylus.sone.utils.emptyToNull
 import net.pterodactylus.sone.utils.headers
@@ -11,14 +12,14 @@ import net.pterodactylus.sone.web.page.FreenetRequest
 /**
  * This AJAX page create a reply.
  */
-class CreateReplyAjaxPage(webInterface: WebInterface) : JsonPage("createReply.ajax", webInterface) {
+class CreateReplyAjaxPage(webInterface: WebInterface) : LoggedInJsonPage("createReply.ajax", webInterface) {
 
-       override fun createJsonObject(request: FreenetRequest): JsonReturnObject =
+       override fun createJsonObject(currentSone: Sone, request: FreenetRequest): JsonReturnObject =
                        request.parameters["post"].emptyToNull
                                        ?.let(webInterface.core::getPost)
                                        ?.let { post ->
                                                val text = TextFilter.filter(request.headers["Host"], request.parameters["text"])
-                                               val sender = request.parameters["sender"].let(webInterface.core::getLocalSone) ?: getCurrentSone(request.toadletContext)
+                                               val sender = request.parameters["sender"].let(webInterface.core::getLocalSone) ?: currentSone
                                                val reply = webInterface.core.createReply(sender, post, text)
                                                createSuccessJsonObject().apply {
                                                        put("reply", reply.id)