Add test for DI constructability of TrustAjaxPage
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / ajax / GetReplyAjaxPage.kt
index a9709e8..119a622 100644 (file)
@@ -3,23 +3,24 @@ package net.pterodactylus.sone.web.ajax
 import net.pterodactylus.sone.data.PostReply
 import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.utils.jsonObject
-import net.pterodactylus.sone.utils.let
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.utils.render
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.FreenetRequest
 import net.pterodactylus.util.template.Template
+import javax.inject.Inject
 
 /**
  * This AJAX page returns the details of a reply.
  */
-class GetReplyAjaxPage(webInterface: WebInterface, private val template: Template) : LoggedInJsonPage("getReply.ajax", webInterface) {
+class GetReplyAjaxPage @Inject constructor(webInterface: WebInterface, private val template: Template) :
+               LoggedInJsonPage("getReply.ajax", webInterface) {
 
-       override fun needsFormPassword() = false
+       override val needsFormPassword = false
 
        override fun createJsonObject(currentSone: Sone, request: FreenetRequest) =
                        request.parameters["reply"]
-                                       .let(webInterface.core::getPostReply)
+                                       ?.let(core::getPostReply)
                                        ?.let { it.toJson(currentSone, request) }
                                        ?.let { replyJson ->
                                                createSuccessJsonObject().apply {
@@ -37,7 +38,7 @@ class GetReplyAjaxPage(webInterface: WebInterface, private val template: Templat
 
        private fun PostReply.render(currentSone: Sone, request: FreenetRequest) =
                        webInterface.templateContextFactory.createTemplateContext().apply {
-                               set("core", webInterface.core)
+                               set("core", core)
                                set("request", request)
                                set("reply", this@render)
                                set("currentSone", currentSone)