X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FCreateAlbumPage.java;h=4f268ece23b8cf9786e965ef3c5cf7ddce505b0b;hb=23c1760105986cd53d78535010fe2a5c979f0c85;hp=bd36d898c2a48b392bf9b2b84f772179aa53990a;hpb=ad2366bcfe62b7bcd855791447781fdeddda0188;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java b/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java index bd36d89..4f268ec 100644 --- a/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java +++ b/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java @@ -17,10 +17,11 @@ package net.pterodactylus.sone.web; +import static net.pterodactylus.sone.text.TextFilter.filter; + import net.pterodactylus.sone.data.Album; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.database.AlbumBuilderFactory; -import net.pterodactylus.sone.text.TextFilter; import net.pterodactylus.sone.web.page.FreenetRequest; import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContext; @@ -61,15 +62,23 @@ public class CreateAlbumPage extends SoneTemplatePage { templateContext.set("nameMissing", true); return; } - String description = request.getHttpRequest().getPartAsStringFailsafe("description", 256).trim(); - Sone currentSone = getCurrentSone(request.getToadletContext()); - String parentId = request.getHttpRequest().getPartAsStringFailsafe("parent", 36); - AlbumBuilderFactory parent = parentId.equals("") ? currentSone : webInterface.getCore().getAlbum(parentId).get(); - Album album = parent.newAlbumBuilder().randomId().build(); - album.modify().setTitle(name).setDescription(TextFilter.filter(request.getHttpRequest().getHeader("host"), description)).update(); + Album album = createAlbum(request, name); webInterface.getCore().touchConfiguration(); throw new RedirectException("imageBrowser.html?album=" + album.getId()); } } + private Album createAlbum(FreenetRequest request, String name) { + Sone currentSone = getCurrentSone(request.getToadletContext()); + String parentId = request.getHttpRequest().getPartAsStringFailsafe("parent", 36); + AlbumBuilderFactory parent = parentId.equals("") ? currentSone : webInterface.getCore().getAlbum(parentId).get(); + Album album = parent.newAlbumBuilder().randomId().build(); + return setTitleAndDescription(request, name, album); + } + + private Album setTitleAndDescription(FreenetRequest request, String name, Album album) { + String description = request.getHttpRequest().getPartAsStringFailsafe("description", 256).trim(); + return album.modify().setTitle(name).setDescription(filter(request.getHttpRequest().getHeader("host"), description)).update(); + } + }