X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FCreateAlbumPage.java;h=7423b67e117ca8dd2b224be0f838d937349d1f8a;hp=9072ea48b192a4b850ca42dc186ad98c83cb9007;hb=7b55e0be6a3283e43a9bbab98f82aebdd948eb33;hpb=7d5aff5d52afa5d9725ce252c846b1aca6f1a761 diff --git a/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java b/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java index 9072ea4..7423b67 100644 --- a/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java +++ b/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java @@ -1,5 +1,5 @@ /* - * Sone - CreateAlbumPage.java - Copyright © 2011 David Roden + * Sone - CreateAlbumPage.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 @@ -18,6 +18,7 @@ package net.pterodactylus.sone.web; import net.pterodactylus.sone.data.Album; +import net.pterodactylus.sone.data.Album.Modifier.AlbumTitleMustNotBeEmpty; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.text.TextFilter; import net.pterodactylus.sone.web.page.FreenetRequest; @@ -52,8 +53,7 @@ public class CreateAlbumPage extends SoneTemplatePage { * {@inheritDoc} */ @Override - protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException { - super.processTemplate(request, templateContext); + protected void handleRequest(FreenetRequest request, TemplateContext templateContext) throws RedirectException { if (request.getMethod() == Method.POST) { String name = request.getHttpRequest().getPartAsStringFailsafe("name", 64).trim(); if (name.length() == 0) { @@ -63,9 +63,16 @@ public class CreateAlbumPage extends SoneTemplatePage { String description = request.getHttpRequest().getPartAsStringFailsafe("description", 256).trim(); Sone currentSone = getCurrentSone(request.getToadletContext()); String parentId = request.getHttpRequest().getPartAsStringFailsafe("parent", 36); - Album parent = webInterface.getCore().getAlbum(parentId, false); + Album parent = webInterface.getCore().getAlbum(parentId); + if (parentId.equals("")) { + parent = currentSone.getRootAlbum(); + } Album album = webInterface.getCore().createAlbum(currentSone, parent); - album.setTitle(name).setDescription(TextFilter.filter(request.getHttpRequest().getHeader("host"), description)); + try { + album.modify().setTitle(name).setDescription(TextFilter.filter(request.getHttpRequest().getHeader("host"), description)).update(); + } catch (AlbumTitleMustNotBeEmpty atmnbe) { + throw new RedirectException("emptyAlbumTitle.html"); + } webInterface.getCore().touchConfiguration(); throw new RedirectException("imageBrowser.html?album=" + album.getId()); }