1 package net.pterodactylus.sone.web.pages
3 import net.pterodactylus.sone.data.*
4 import net.pterodactylus.sone.main.*
5 import net.pterodactylus.sone.web.*
6 import net.pterodactylus.sone.web.page.*
7 import net.pterodactylus.util.template.*
14 class LogoutPage @Inject constructor(webInterface: WebInterface, loaders: Loaders, templateRenderer: TemplateRenderer) :
15 LoggedInPage("logout.html", "Page.Logout.Title", webInterface, loaders, templateRenderer) {
17 override fun handleRequest(soneRequest: SoneRequest, currentSone: Sone, templateContext: TemplateContext) {
18 setCurrentSone(soneRequest.toadletContext, null)
19 throw RedirectException("index.html")
22 override fun isEnabled(soneRequest: SoneRequest): Boolean =
23 if (soneRequest.core.preferences.requireFullAccess && !soneRequest.toadletContext.isAllowedFullAccess) {
26 getCurrentSone(soneRequest.toadletContext) != null && soneRequest.core.localSones.size != 1