X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FCreateAlbumPage.java;h=338056a5d7c450b8e33df17d46daed74aa285a6e;hp=e0f072537bfd8d11ddef6efa367fdf39f11e31c0;hb=00a434a23c9ea1e57c63d8a3c0fc4b09277af431;hpb=50999afc14ced32f8f15b7512a896bbac1e61562 diff --git a/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java b/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java index e0f0725..338056a 100644 --- a/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java +++ b/src/main/java/net/pterodactylus/sone/web/CreateAlbumPage.java @@ -27,6 +27,8 @@ import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContext; import net.pterodactylus.util.web.Method; +import com.google.common.base.Optional; + /** * Page that lets the user create a new album. * @@ -65,11 +67,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", IdBuilder.ID_STRING_LENGTH); - Album parent = webInterface.getCore().getAlbum(parentId); + Optional parent; if (parentId.equals("")) { - parent = currentSone.getRootAlbum(); + parent = Optional.of(currentSone.getRootAlbum()); + } else { + parent = webInterface.getCore().getAlbum(parentId); + if (!parent.isPresent()) { + throw new RedirectException("noPermission.html"); + } } - Album album = webInterface.getCore().createAlbum(currentSone, parent); + Album album = webInterface.getCore().createAlbum(currentSone, parent.get()); try { album.modify().setTitle(name).setDescription(TextFilter.filter(request.getHttpRequest().getHeader("host"), description)).update(); } catch (AlbumTitleMustNotBeEmpty atmnbe) {