package net.pterodactylus.sone.web.ajax;
import net.pterodactylus.sone.web.WebInterface;
+import net.pterodactylus.sone.web.page.FreenetRequest;
import net.pterodactylus.util.json.JsonObject;
import net.pterodactylus.util.notify.Notification;
* The Sone web interface
*/
public DismissNotificationAjaxPage(WebInterface webInterface) {
- super("ajax/dismissNotification.ajax", webInterface);
+ super("dismissNotification.ajax", webInterface);
}
/**
* {@inheritDoc}
*/
@Override
- protected JsonObject createJsonObject(Request request) {
+ protected JsonObject createJsonObject(FreenetRequest request) {
String notificationId = request.getHttpRequest().getParam("notification");
- Notification notification = webInterface.getCore().getNotifications().getNotification(notificationId);
+ Notification notification = webInterface.getNotifications().getNotification(notificationId);
if (notification == null) {
return createErrorJsonObject("invalid-notification-id");
}
if (!notification.isDismissable()) {
return createErrorJsonObject("not-dismissable");
}
- webInterface.getCore().getNotifications().removeNotification(notification);
+ notification.dismiss();
return createSuccessJsonObject();
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected boolean requiresLogin() {
+ return false;
+ }
+
}