X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FWebInterface.java;h=08202d48af47cd5973a37eaa82782b3eb96be9f0;hb=0d63b856de825269b5ebb7dc02886fa9fd4d75cf;hp=9c96c3e034cf5b9408cf67842ab584afbcfbbf04;hpb=4d07ddbfd96d610c2f862c4688aed75d3f4ff86f;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 9c96c3e..08202d4 100644 --- a/src/main/java/net/pterodactylus/sone/web/WebInterface.java +++ b/src/main/java/net/pterodactylus/sone/web/WebInterface.java @@ -58,6 +58,7 @@ 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.template.UniqueElementFilter; import net.pterodactylus.sone.template.UnknownDateFilter; import net.pterodactylus.sone.text.Part; import net.pterodactylus.sone.text.SonePart; @@ -228,6 +229,7 @@ public class WebInterface implements CoreListener { templateContextFactory.addFilter("sort", new CollectionSortFilter()); templateContextFactory.addFilter("replyGroup", new ReplyGroupFilter()); templateContextFactory.addFilter("in", new ContainsFilter()); + templateContextFactory.addFilter("unique", new UniqueElementFilter()); templateContextFactory.addProvider(Provider.TEMPLATE_CONTEXT_PROVIDER); templateContextFactory.addProvider(new ClassPathTemplateProvider()); templateContextFactory.addTemplateObject("webInterface", this); @@ -712,7 +714,7 @@ public class WebInterface implements CoreListener { TemplateNotification templateNotification = soneInsertNotifications.get(sone); if (templateNotification == null) { templateNotification = new TemplateNotification(TemplateParser.parse(createReader("/templates/notify/soneInsertNotification.html"))); - templateNotification.set("sone", sone); + templateNotification.set("insertSone", sone); soneInsertNotifications.put(sone, templateNotification); } return templateNotification; @@ -866,7 +868,9 @@ public class WebInterface implements CoreListener { public void soneInserting(Sone sone) { TemplateNotification soneInsertNotification = getSoneInsertNotification(sone); soneInsertNotification.set("soneStatus", "inserting"); - notificationManager.addNotification(soneInsertNotification); + if (sone.getOptions().getBooleanOption("EnableSoneInsertNotifications").get()) { + notificationManager.addNotification(soneInsertNotification); + } } /** @@ -877,7 +881,9 @@ public class WebInterface implements CoreListener { TemplateNotification soneInsertNotification = getSoneInsertNotification(sone); soneInsertNotification.set("soneStatus", "inserted"); soneInsertNotification.set("insertDuration", insertDuration / 1000); - notificationManager.addNotification(soneInsertNotification); + if (sone.getOptions().getBooleanOption("EnableSoneInsertNotifications").get()) { + notificationManager.addNotification(soneInsertNotification); + } } /** @@ -885,7 +891,12 @@ public class WebInterface implements CoreListener { */ @Override public void soneInsertAborted(Sone sone, Throwable cause) { - notificationManager.addNotification(getSoneInsertNotification(sone).set("soneStatus", "insert-aborted").set("insert-error", cause)); + TemplateNotification soneInsertNotification = getSoneInsertNotification(sone); + soneInsertNotification.set("soneStatus", "insert-aborted"); + soneInsertNotification.set("insert-error", cause); + if (sone.getOptions().getBooleanOption("EnableSoneInsertNotifications").get()) { + notificationManager.addNotification(soneInsertNotification); + } } /**