X-Git-Url: https://git.pterodactylus.net/?p=demoscenemusic.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fdemoscenemusic%2Fpage%2Fadmin%2FEditTrackPage.java;h=05bf3d06845c8eaa2f933ac412a30329416ed977;hp=c8a9be28f481e973450e36e05fe6b1b94100ee98;hb=99b3017a74e73fb1496909c3540f9f122e74bcf9;hpb=51130ce0f519aa3ac648999413e76558679ee182 diff --git a/src/main/java/net/pterodactylus/demoscenemusic/page/admin/EditTrackPage.java b/src/main/java/net/pterodactylus/demoscenemusic/page/admin/EditTrackPage.java index c8a9be2..05bf3d0 100644 --- a/src/main/java/net/pterodactylus/demoscenemusic/page/admin/EditTrackPage.java +++ b/src/main/java/net/pterodactylus/demoscenemusic/page/admin/EditTrackPage.java @@ -18,8 +18,10 @@ package net.pterodactylus.demoscenemusic.page.admin; import java.util.Collection; +import java.util.List; import net.pterodactylus.demoscenemusic.core.Core; +import net.pterodactylus.demoscenemusic.data.Artist; import net.pterodactylus.demoscenemusic.data.Party; import net.pterodactylus.demoscenemusic.data.Track; import net.pterodactylus.demoscenemusic.page.ServletRequest; @@ -72,10 +74,14 @@ public class EditTrackPage extends AdminBasePage { templateContext.set("track", track); if (request.getMethod() == Method.POST) { + String partyId = request.getServletRequest().getParameter("party"); + Party party = getCore().getDataManager().getPartyById(partyId); + + String artistId = request.getServletRequest().getParameter("artist"); + Artist artist = getCore().getDataManager().getArtistById(artistId); + /* check if a party should be removed. */ if ("true".equals(request.getServletRequest().getParameter("delete-party"))) { - String partyId = request.getServletRequest().getParameter("party"); - Party party = getCore().getDataManager().getPartyById(partyId); Collection parties = track.getParties(); parties.remove(party); track.setParties(parties); @@ -83,13 +89,43 @@ public class EditTrackPage extends AdminBasePage { /* check if a party should be added. */ if ("true".equals(request.getServletRequest().getParameter("add-party"))) { - String partyId = request.getServletRequest().getParameter("party"); - Party party = getCore().getDataManager().getPartyById(partyId); Collection parties = track.getParties(); parties.add(party); track.setParties(parties); } + if ("true".equals(request.getServletRequest().getParameter("delete-artist"))) { + List artists = track.getArtists(); + artists.remove(artist); + track.setArtists(artists); + } + + if ("true".equals(request.getServletRequest().getParameter("move-up"))) { + List artists = track.getArtists(); + int index = artists.indexOf(artist); + if (index > 0) { + artists.remove(artist); + artists.add(index - 1, artist); + } + track.setArtists(artists); + } + + if ("true".equals(request.getServletRequest().getParameter("move-down"))) { + List artists = track.getArtists(); + int index = artists.indexOf(artist); + if (index < (artists.size() - 1)) { + artists.remove(artist); + artists.add(index + 1, artist); + } + track.setArtists(artists); + } + + if ("true".equals(request.getServletRequest().getParameter("add-artist"))) { + List artists = track.getArtists(); + artists.add(artist); + track.setArtists(artists); + } + String name = request.getServletRequest().getParameter("name"); if ((name != null) && (name.trim().length() > 0)) { track.setName(name);