Allow following or unfollowing multiple Sones at once.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 1 Jul 2011 05:05:56 +0000 (07:05 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 1 Jul 2011 05:05:56 +0000 (07:05 +0200)
src/main/java/net/pterodactylus/sone/web/FollowSonePage.java
src/main/java/net/pterodactylus/sone/web/UnfollowSonePage.java

index 9cd1f2a..0bf84d7 100644 (file)
@@ -50,10 +50,12 @@ public class FollowSonePage extends SoneTemplatePage {
        protected void processTemplate(Request request, TemplateContext templateContext) throws RedirectException {
                super.processTemplate(request, templateContext);
                if (request.getMethod() == Method.POST) {
-                       String soneId = request.getHttpRequest().getPartAsStringFailsafe("sone", 44);
                        String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 256);
                        Sone currentSone = getCurrentSone(request.getToadletContext());
-                       currentSone.addFriend(soneId);
+                       String soneIds = request.getHttpRequest().getPartAsStringFailsafe("sone", 1200);
+                       for (String soneId : soneIds.split("[ ,]+")) {
+                               currentSone.addFriend(soneId);
+                       }
                        webInterface.getCore().saveSone(currentSone);
                        throw new RedirectException(returnPage);
                }
index a7836f5..191d9d4 100644 (file)
@@ -50,10 +50,12 @@ public class UnfollowSonePage extends SoneTemplatePage {
        protected void processTemplate(Request request, TemplateContext templateContext) throws RedirectException {
                super.processTemplate(request, templateContext);
                if (request.getMethod() == Method.POST) {
-                       String soneId = request.getHttpRequest().getPartAsStringFailsafe("sone", 44);
                        String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 256);
                        Sone currentSone = getCurrentSone(request.getToadletContext());
-                       currentSone.removeFriend(soneId);
+                       String soneIds = request.getHttpRequest().getPartAsStringFailsafe("sone", 2000);
+                       for (String soneId : soneIds.split("[ ,]+")) {
+                               currentSone.removeFriend(soneId);
+                       }
                        webInterface.getCore().saveSone(currentSone);
                        throw new RedirectException(returnPage);
                }