✨ Use @TemplatePath in FreenetTemplatePage
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / page / FreenetTemplatePage.kt
index d93e7d1..792c0ba 100644 (file)
@@ -34,8 +34,8 @@ import java.util.logging.Logger.*
 open class FreenetTemplatePage(
                private val path: String,
                private val templateContextFactory: TemplateContextFactory,
-               private val loaders: Loaders,
-               private val template: Template,
+               loaders: Loaders,
+               template: Template,
                private val invalidFormPasswordRedirectTarget: String
 ) : FreenetPage, LinkEnabledCallback {
 
@@ -57,6 +57,8 @@ open class FreenetTemplatePage(
 
        override fun isEnabled(toadletContext: ToadletContext) = !isFullAccessOnly
 
+       private val template = templatePath?.let(loaders::loadTemplate) ?: template
+
        override fun handleRequest(request: FreenetRequest, response: Response): Response {
                getRedirectTarget(request)?.let { redirectTarget -> return RedirectResponse(redirectTarget) }