From: David ‘Bombe’ Roden Date: Fri, 24 Mar 2017 18:27:54 +0000 (+0100) Subject: Replace dismiss notification page with Kotlin version X-Git-Tag: 0.9.7^2~282 X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=commitdiff_plain;h=0c6f4b61672757f062ce93794e2dc8f558b2913b Replace dismiss notification page with Kotlin version --- diff --git a/src/main/java/net/pterodactylus/sone/web/DismissNotificationPage.java b/src/main/java/net/pterodactylus/sone/web/DismissNotificationPage.java deleted file mode 100644 index c14a012..0000000 --- a/src/main/java/net/pterodactylus/sone/web/DismissNotificationPage.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Sone - DismissNotificationPage.java - Copyright © 2010–2016 David Roden - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package net.pterodactylus.sone.web; - -import net.pterodactylus.sone.web.page.FreenetRequest; -import net.pterodactylus.util.notify.Notification; -import net.pterodactylus.util.template.Template; -import net.pterodactylus.util.template.TemplateContext; - -import com.google.common.base.Optional; - -/** - * Page that lets the user dismiss a notification. - * - * @author David ‘Bombe’ Roden - */ -public class DismissNotificationPage extends SoneTemplatePage { - - /** - * Creates a new “dismiss notifcation” page. - * - * @param template - * The template to render - * @param webInterface - * The Sone web interface - */ - public DismissNotificationPage(Template template, WebInterface webInterface) { - super("dismissNotification.html", template, "Page.DismissNotification.Title", webInterface); - } - - // - // TEMPLATEPAGE METHODS - // - - /** - * {@inheritDoc} - */ - @Override - protected void handleRequest(FreenetRequest request, TemplateContext templateContext) throws RedirectException { - String notificationId = request.getHttpRequest().getPartAsStringFailsafe("notification", 36); - Optional notification = webInterface.getNotification(notificationId); - if (notification.isPresent() && notification.get().isDismissable()) { - notification.get().dismiss(); - } - String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 256); - throw new RedirectException(returnPage); - } - -} diff --git a/src/main/kotlin/net/pterodactylus/sone/web/DismissNotificationPage.kt b/src/main/kotlin/net/pterodactylus/sone/web/DismissNotificationPage.kt new file mode 100644 index 0000000..27bb744 --- /dev/null +++ b/src/main/kotlin/net/pterodactylus/sone/web/DismissNotificationPage.kt @@ -0,0 +1,20 @@ +package net.pterodactylus.sone.web + +import net.pterodactylus.sone.web.page.FreenetRequest +import net.pterodactylus.util.template.Template +import net.pterodactylus.util.template.TemplateContext + +/** + * Page that lets the user dismiss a notification. + */ +class DismissNotificationPage(template: Template, webInterface: WebInterface): + SoneTemplatePage("dismissNotification.html", template, "Page.DismissNotification.Title", webInterface) { + + override fun handleRequest(request: FreenetRequest, templateContext: TemplateContext) { + val returnPage = request.httpRequest.getPartAsStringFailsafe("returnPage", 256) + val notificationId = request.httpRequest.getPartAsStringFailsafe("notification", 36) + webInterface.getNotification(notificationId).orNull()?.takeIf { it.isDismissable }?.dismiss() + throw RedirectException(returnPage) + } + +}