Add party management on track page.
[demoscenemusic.git] / src / main / java / net / pterodactylus / demoscenemusic / page / admin / EditTrackPage.java
index af02681..c8a9be2 100644 (file)
 
 package net.pterodactylus.demoscenemusic.page.admin;
 
+import java.util.Collection;
+
 import net.pterodactylus.demoscenemusic.core.Core;
+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 +71,31 @@ 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) {
+
+                               /* 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<Party> parties = track.getParties();
+                                       parties.remove(party);
+                                       track.setParties(parties);
+                               }
+
+                               /* 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<Party> parties = track.getParties();
+                                       parties.add(party);
+                                       track.setParties(parties);
+                               }
+
+                               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);
                                }