X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FWebInterface.java;h=c1c0653673cdd00b47fdd9152f3ca63222268ba1;hb=316b9c2b3d16792975434644ae39a9b1814f32c4;hp=659ce9b4577ab70c1355bd9a48b0a133a21df944;hpb=080bbbe88d4277b8bd4c5c6c2596f79c42711be8;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/WebInterface.java b/src/main/java/net/pterodactylus/sone/web/WebInterface.java index 659ce9b..c1c0653 100644 --- a/src/main/java/net/pterodactylus/sone/web/WebInterface.java +++ b/src/main/java/net/pterodactylus/sone/web/WebInterface.java @@ -40,6 +40,7 @@ import net.pterodactylus.sone.data.Reply; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.freenet.L10nFilter; import net.pterodactylus.sone.freenet.wot.Identity; +import net.pterodactylus.sone.freenet.wot.Trust; import net.pterodactylus.sone.main.SonePlugin; import net.pterodactylus.sone.notify.ListNotification; import net.pterodactylus.sone.template.CollectionAccessor; @@ -52,6 +53,7 @@ import net.pterodactylus.sone.template.ReplyAccessor; import net.pterodactylus.sone.template.RequestChangeFilter; import net.pterodactylus.sone.template.SoneAccessor; import net.pterodactylus.sone.template.SubstringFilter; +import net.pterodactylus.sone.template.TrustAccessor; import net.pterodactylus.sone.web.ajax.CreatePostAjaxPage; import net.pterodactylus.sone.web.ajax.CreateReplyAjaxPage; import net.pterodactylus.sone.web.ajax.DeletePostAjaxPage; @@ -159,6 +161,7 @@ public class WebInterface implements CoreListener { templateFactory.addAccessor(Reply.class, new ReplyAccessor(getCore(), templateFactory)); templateFactory.addAccessor(Identity.class, new IdentityAccessor(getCore())); templateFactory.addAccessor(NotificationManager.class, new NotificationManagerAccessor()); + templateFactory.addAccessor(Trust.class, new TrustAccessor()); templateFactory.addFilter("date", new DateFilter()); templateFactory.addFilter("l10n", new L10nFilter(getL10n())); templateFactory.addFilter("substring", new SubstringFilter()); @@ -246,7 +249,22 @@ public class WebInterface implements CoreListener { * currently logged in */ public Sone getCurrentSone(ToadletContext toadletContext) { - return getCurrentSone(getCurrentSession(toadletContext)); + return getCurrentSone(toadletContext, true); + } + + /** + * Returns the currently logged in Sone. + * + * @param toadletContext + * The toadlet context + * @param create + * {@code true} to create a new session if no session exists, + * {@code false} to not create a new session + * @return The currently logged in Sone, or {@code null} if no Sone is + * currently logged in + */ + public Sone getCurrentSone(ToadletContext toadletContext, boolean create) { + return getCurrentSone(getCurrentSession(toadletContext, create)); } /** @@ -669,6 +687,7 @@ public class WebInterface implements CoreListener { @SuppressWarnings("synthetic-access") public void run() { lockedSonesNotification.add(sone); + lockedSonesTickerObjects.remove(sone); notificationManager.addNotification(lockedSonesNotification); } }, "Sone Locked Notification"); @@ -680,12 +699,8 @@ public class WebInterface implements CoreListener { */ @Override public void soneUnlocked(Sone sone) { - Object tickerObject = lockedSonesTickerObjects.remove(sone); - if (tickerObject == null) { - return; - } lockedSonesNotification.remove(sone); - Ticker.getInstance().deregisterEvent(tickerObject); + Ticker.getInstance().deregisterEvent(lockedSonesTickerObjects.remove(sone)); } /**