]> WPIA git - gigi.git/commitdiff
Save partial entries into register page.
authorFelix Dörre <felix@dogcraft.de>
Sun, 22 Jun 2014 17:11:27 +0000 (19:11 +0200)
committerFelix Dörre <felix@dogcraft.de>
Sun, 22 Jun 2014 23:20:10 +0000 (01:20 +0200)
src/org/cacert/gigi/Gigi.java
src/org/cacert/gigi/pages/main/RegisterPage.java
src/org/cacert/gigi/pages/main/Signup.java
src/org/cacert/gigi/pages/main/Signup.templ

index 1464a8b3942275c6c7a9c37e754c30c1fcaaa80b..348cbecbb0afe3e1a7b74f7ec677e4b129049be9 100644 (file)
@@ -96,13 +96,17 @@ public class Gigi extends HttpServlet {
                        String b0 = baseTemplate[0];
                        Page p = pages.get(req.getPathInfo());
                        b0 = makeDynTempl(b0, p);
-                       resp.setContentType("text/html");
+                       resp.setContentType("text/html; charset=utf-8");
                        resp.getWriter().print(b0);
                        if (hs != null && hs.getAttribute(LOGGEDIN) != null) {
                                resp.getWriter().println(
                                                "Hi " + ((User) hs.getAttribute(USER)).getFname());
                        }
-                       p.doGet(req, resp);
+                       if (req.getMethod().equals("POST")) {
+                               p.doPost(req, resp);
+                       } else {
+                               p.doGet(req, resp);
+                       }
                        String b1 = baseTemplate[1];
                        b1 = makeDynTempl(b1, p);
                        resp.getWriter().print(b1);
index b63dbce1612fb6f4ee0de86d3f6ee95b27cd63cc..6505c625cbb9e70a986d4a778add5ff7447b7aaa 100644 (file)
@@ -8,6 +8,8 @@ import java.util.HashMap;
 
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
 import org.cacert.gigi.output.Template;
 import org.cacert.gigi.pages.Page;
 
@@ -32,12 +34,24 @@ public class RegisterPage extends Page {
                        throws IOException {
                PrintWriter out = resp.getWriter();
                t.output(out, getLanguage(req), new HashMap<String, Object>());
-               Signup s = new Signup();
+               Signup s = getForm(req);
                s.writeForm(out, req);
        }
+       public Signup getForm(HttpServletRequest req) {
+               HttpSession hs = req.getSession();
+               Signup s = (Signup) hs.getAttribute("signupProcess");
+               if (s == null) {
+                       s = new Signup();
+                       hs.setAttribute("signupProcess", s);
+               }
+               return s;
+
+       }
        @Override
        public void doPost(HttpServletRequest req, ServletResponse resp)
                        throws IOException {
+               Signup s = getForm(req);
+               s.update(req);
 
                super.doPost(req, resp);
        }
index 09f50e10a8ed7aacfe6c09fba173fc6a85b6b943..c1c47c56b530d68afd1ad3b403f3cc8a16a9c5f9 100644 (file)
@@ -45,7 +45,7 @@ public class Signup {
                vars.put("email", HTMLEncoder.encodeHTML(buildup.getEmail()));
                vars.put("general", general ? " checked=\"checked\"" : "");
                vars.put("country", country ? " checked=\"checked\"" : "");
-               vars.put("region", regional ? " checked=\"checked\"" : "");
+               vars.put("regional", regional ? " checked=\"checked\"" : "");
                vars.put("radius", radius ? " checked=\"checked\"" : "");
                vars.put(
                                "helpOnNames",
@@ -57,5 +57,13 @@ public class Signup {
        }
        public void update(ServletRequest r) {
                buildup.setFname(r.getParameter("fname"));
+               buildup.setLname(r.getParameter("lname"));
+               buildup.setMname(r.getParameter("mname"));
+               buildup.setSuffix(r.getParameter("suffix"));
+               buildup.setEmail(r.getParameter("email"));
+               general = "1".equals(r.getParameter("general"));
+               country = "1".equals(r.getParameter("country"));
+               regional = "1".equals(r.getParameter("regional"));
+               radius = "1".equals(r.getParameter("radius"));
        }
 }
index ad0fc131b9a896b8d219a29e8928cc98427c9830..1702c9d65bbbcbac014b9a08ebaf644285fe160e 100644 (file)
@@ -63,7 +63,7 @@
     <td class="DataTD" align="left">
         <input type="checkbox" name="general" value="1" <?=$general?>><?=_General Announcements?><br>
        <input type="checkbox" name="country" value="1" <?=$country?>><?=_Country Announcements?><br>
-       <input type="checkbox" name="regional" value="1" <?=$region?>><?=_Regional Announcements?><br>
+       <input type="checkbox" name="regional" value="1" <?=$regional?>><?=_Regional Announcements?><br>
        <input type="checkbox" name="radius" value="1" <?=$radius?>><?=_Within 200km Announcements?></td>
     <td class="DataTD">&nbsp;</td>
   </tr>