Automatically link new track to an artist.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 27 Jul 2012 23:39:25 +0000 (01:39 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 27 Jul 2012 23:39:25 +0000 (01:39 +0200)
src/main/java/net/pterodactylus/demoscenemusic/page/admin/AddTrackPage.java

index e0c8e7f..2234449 100644 (file)
@@ -18,6 +18,7 @@
 package net.pterodactylus.demoscenemusic.page.admin;
 
 import net.pterodactylus.demoscenemusic.core.Core;
+import net.pterodactylus.demoscenemusic.data.Artist;
 import net.pterodactylus.demoscenemusic.data.Track;
 import net.pterodactylus.demoscenemusic.page.ServletRequest;
 import net.pterodactylus.util.database.DatabaseException;
@@ -66,7 +67,14 @@ public class AddTrackPage extends AdminBasePage {
                                return;
                        }
                        try {
+                               String artistId = request.getServletRequest().getParameter("artist");
+                               Artist artist = getCore().getDataManager().getArtistById(artistId);
+                               if (artist == null) {
+                                       templateContext.set("error", "no-artist-given");
+                               }
                                Track track = getCore().getDataManager().createTrack(name);
+                               track.getArtists().add(artist);
+                               getCore().getDataManager().saveTrack(track);
                                throw new RedirectException("admin.edit-track?id=" + track.getId());
                        } catch (DatabaseException de1) {
                                throw new RuntimeException("Could not create track.", de1);