X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FTrustAjaxPage.java;h=d0247cb4155bf01e4ebb8d55a7e8940451d6b7d1;hp=d6e2750a79aac0e88d26f24d533b167dec10d39f;hb=9e697ac643d11a2b7644a948732674eea195718a;hpb=33f333b35a73d3d4a4e79f41e9dd7b342db87b1a diff --git a/src/main/java/net/pterodactylus/sone/web/ajax/TrustAjaxPage.java b/src/main/java/net/pterodactylus/sone/web/ajax/TrustAjaxPage.java index d6e2750..d0247cb 100644 --- a/src/main/java/net/pterodactylus/sone/web/ajax/TrustAjaxPage.java +++ b/src/main/java/net/pterodactylus/sone/web/ajax/TrustAjaxPage.java @@ -1,5 +1,5 @@ /* - * Sone - TrustAjaxPage.java - Copyright © 2011 David Roden + * Sone - TrustAjaxPage.java - Copyright © 2011–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 @@ -17,11 +17,14 @@ package net.pterodactylus.sone.web.ajax; +import javax.annotation.Nonnull; + +import com.google.common.base.Optional; + import net.pterodactylus.sone.core.Core; import net.pterodactylus.sone.data.Sone; -import net.pterodactylus.sone.freenet.wot.Trust; import net.pterodactylus.sone.web.WebInterface; -import net.pterodactylus.util.json.JsonObject; +import net.pterodactylus.sone.web.page.FreenetRequest; /** * AJAX page that lets the user trust a Sone. @@ -29,7 +32,7 @@ import net.pterodactylus.util.json.JsonObject; * @see Core#trustSone(Sone, Sone) * @author David ‘Bombe’ Roden */ -public class TrustAjaxPage extends JsonPage { +public class TrustAjaxPage extends LoggedInJsonPage { /** * Creates a new “trust Sone” AJAX handler. @@ -44,23 +47,16 @@ public class TrustAjaxPage extends JsonPage { /** * {@inheritDoc} */ + @Nonnull @Override - protected JsonObject createJsonObject(Request request) { - Sone currentSone = getCurrentSone(request.getToadletContext(), false); - if (currentSone == null) { - return createErrorJsonObject("auth-required"); - } + protected JsonReturnObject createJsonObject(@Nonnull Sone currentSone, @Nonnull FreenetRequest request) { String soneId = request.getHttpRequest().getParam("sone"); - Sone sone = webInterface.getCore().getSone(soneId, false); - if (sone == null) { + Optional sone = webInterface.getCore().getSone(soneId); + if (!sone.isPresent()) { return createErrorJsonObject("invalid-sone-id"); } - webInterface.getCore().trustSone(currentSone, sone); - Trust trust = webInterface.getCore().getTrust(currentSone, sone); - if (trust == null) { - return createErrorJsonObject("wot-plugin"); - } - return createSuccessJsonObject().put("trustValue", trust.getExplicit()); + webInterface.getCore().trustSone(currentSone, sone.get()); + return createSuccessJsonObject().put("trustValue", webInterface.getCore().getPreferences().getPositiveTrust()); } }