Move login requirement to SoneTemplatePage.
[Sone.git] / src / main / java / net / pterodactylus / sone / web / AddSonePage.java
index 92b9407..fe3ce1c 100644 (file)
@@ -17,6 +17,7 @@
 
 package net.pterodactylus.sone.web;
 
+import net.pterodactylus.sone.web.page.Page.Request.Method;
 import net.pterodactylus.util.template.Template;
 
 /**
@@ -35,7 +36,7 @@ public class AddSonePage extends SoneTemplatePage {
         *            The Sone web interface
         */
        public AddSonePage(Template template, WebInterface webInterface) {
-               super("addSone.html", template, "Page.AddSone.Title", webInterface);
+               super("addSone.html", template, "Page.AddSone.Title", webInterface, false);
        }
 
        //
@@ -48,17 +49,12 @@ public class AddSonePage extends SoneTemplatePage {
        @Override
        protected void processTemplate(Request request, Template template) throws RedirectException {
                super.processTemplate(request, template);
-               final String soneKey = request.getHttpRequest().getPartAsStringFailsafe("request-uri", 256);
-               new Thread(new Runnable() {
-
-                       /**
-                        * {@inheritDoc}
-                        */
-                       @Override
-                       public void run() {
-                               webInterface.core().loadSone(soneKey);
-                       }
-               }, "Sone Downloader").start();
+               if (request.getMethod() == Method.POST) {
+                       String soneKey = request.getHttpRequest().getPartAsStringFailsafe("request-uri", 256);
+                       String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 64);
+                       webInterface.core().loadSone(soneKey);
+                       throw new RedirectException(returnPage);
+               }
        }
 
 }