X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fdemoscenemusic%2Fpage%2Fadmin%2FEditTrackPage.java;h=05bf3d06845c8eaa2f933ac412a30329416ed977;hb=99b3017a74e73fb1496909c3540f9f122e74bcf9;hp=af0268179e6a6d698148d422be0c8d9896293064;hpb=041a04475170fc2c188ca4b731d94ae54d9911ac;p=demoscenemusic.git 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 af02681..05bf3d0 100644 --- a/src/main/java/net/pterodactylus/demoscenemusic/page/admin/EditTrackPage.java +++ b/src/main/java/net/pterodactylus/demoscenemusic/page/admin/EditTrackPage.java @@ -17,7 +17,12 @@ 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; import net.pterodactylus.util.database.DatabaseException; @@ -68,12 +73,65 @@ public class EditTrackPage extends AdminBasePage { templateContext.set("track", track); if (request.getMethod() == Method.POST) { - String name = request.getServletRequest().getParameter("name").trim(); - if (name.length() > 0) { + + 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"))) { + Collection parties = track.getParties(); + parties.remove(party); + track.setParties(parties); + } + + /* check if a party should be added. */ + if ("true".equals(request.getServletRequest().getParameter("add-party"))) { + 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); } - String remix = request.getServletRequest().getParameter("remix").trim(); - if (remix.length() > 0) { + String remix = request.getServletRequest().getParameter("remix"); + if ((remix != null) && (remix.trim().length() > 0)) { track.setRemix(remix); }