X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FDeleteProfileFieldAjaxPage.kt;h=9595a8c865555e6c88b67416211075d901d29f69;hp=5e7c901353ca530ccc3be6316304e3e1a3a27f35;hb=9e697ac643d11a2b7644a948732674eea195718a;hpb=e4969210bb1c68af8dc434478440516a81d91c6d diff --git a/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeleteProfileFieldAjaxPage.kt b/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeleteProfileFieldAjaxPage.kt index 5e7c901..9595a8c 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeleteProfileFieldAjaxPage.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeleteProfileFieldAjaxPage.kt @@ -1,5 +1,6 @@ package net.pterodactylus.sone.web.ajax +import net.pterodactylus.sone.data.Sone import net.pterodactylus.sone.utils.parameters import net.pterodactylus.sone.web.WebInterface import net.pterodactylus.sone.web.page.FreenetRequest @@ -7,21 +8,19 @@ import net.pterodactylus.sone.web.page.FreenetRequest /** * AJAX page that lets the user delete a profile field. */ -class DeleteProfileFieldAjaxPage(webInterface: WebInterface) : JsonPage("deleteProfileField.ajax", webInterface) { +class DeleteProfileFieldAjaxPage(webInterface: WebInterface) : LoggedInJsonPage("deleteProfileField.ajax", webInterface) { - override fun createJsonObject(request: FreenetRequest) = - getCurrentSone(request.toadletContext)!!.let { currentSone -> - currentSone.profile.let { profile -> - request.parameters["field"] - ?.let(profile::getFieldById) - ?.let { field -> - createSuccessJsonObject().also { - profile.removeField(field) - currentSone.profile = profile - webInterface.core.touchConfiguration() - } - } ?: createErrorJsonObject("invalid-field-id") - } + override fun createJsonObject(currentSone: Sone, request: FreenetRequest) = + currentSone.profile.let { profile -> + request.parameters["field"] + ?.let(profile::getFieldById) + ?.let { field -> + createSuccessJsonObject().also { + profile.removeField(field) + currentSone.profile = profile + webInterface.core.touchConfiguration() + } + } ?: createErrorJsonObject("invalid-field-id") } }