]> WPIA git - gigi.git/commitdiff
Minimalistic start for "my details" page
authorFelix Dörre <felix@dogcraft.de>
Tue, 24 Jun 2014 12:58:17 +0000 (14:58 +0200)
committerFelix Dörre <felix@dogcraft.de>
Tue, 24 Jun 2014 12:58:17 +0000 (14:58 +0200)
src/org/cacert/gigi/Gigi.java
src/org/cacert/gigi/pages/account/MyDetails.java [new file with mode: 0644]
src/org/cacert/gigi/pages/account/MyDetails.templ [new file with mode: 0644]

index ce0d46a52d81674ec2e4ce75828d85b2ec9ba07f..286f5eb976186c5daf821c62ee377cf518a7fea9 100644 (file)
@@ -18,6 +18,7 @@ import org.cacert.gigi.pages.LoginPage;
 import org.cacert.gigi.pages.MainPage;
 import org.cacert.gigi.pages.Page;
 import org.cacert.gigi.pages.TestSecure;
 import org.cacert.gigi.pages.MainPage;
 import org.cacert.gigi.pages.Page;
 import org.cacert.gigi.pages.TestSecure;
+import org.cacert.gigi.pages.account.MyDetails;
 import org.cacert.gigi.pages.main.RegisterPage;
 import org.eclipse.jetty.util.log.Log;
 
 import org.cacert.gigi.pages.main.RegisterPage;
 import org.eclipse.jetty.util.log.Log;
 
@@ -33,6 +34,7 @@ public class Gigi extends HttpServlet {
                pages.put("/login", new LoginPage("CACert - Login"));
                pages.put("/", new MainPage("CACert - Home"));
                pages.put("/secure", new TestSecure());
                pages.put("/login", new LoginPage("CACert - Login"));
                pages.put("/", new MainPage("CACert - Home"));
                pages.put("/secure", new TestSecure());
+               pages.put(MyDetails.PATH, new MyDetails());
                pages.put(RegisterPage.PATH, new RegisterPage());
                String templ = "";
                try {
                pages.put(RegisterPage.PATH, new RegisterPage());
                String templ = "";
                try {
diff --git a/src/org/cacert/gigi/pages/account/MyDetails.java b/src/org/cacert/gigi/pages/account/MyDetails.java
new file mode 100644 (file)
index 0000000..c3f1141
--- /dev/null
@@ -0,0 +1,58 @@
+package org.cacert.gigi.pages.account;
+
+import static org.cacert.gigi.Gigi.USER;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.cacert.gigi.User;
+import org.cacert.gigi.output.DateSelector;
+import org.cacert.gigi.output.Template;
+import org.cacert.gigi.pages.Page;
+import org.cacert.gigi.util.HTMLEncoder;
+
+public class MyDetails extends Page {
+       private Template t;
+
+       public MyDetails() {
+               super("My Details");
+               try {
+                       t = new Template(new InputStreamReader(
+                                       MyDetails.class.getResourceAsStream(MyDetails.class
+                                                       .getSimpleName() + ".templ"), "UTF-8"));
+               } catch (UnsupportedEncodingException e) {
+                       e.printStackTrace();
+               }
+       }
+
+       public static final String PATH = "/account/myDetails";
+
+       @Override
+       public void doGet(HttpServletRequest req, HttpServletResponse resp)
+                       throws IOException {
+               User u = (User) req.getSession().getAttribute(USER);
+
+               PrintWriter out = resp.getWriter();
+               HashMap<String, Object> map = new HashMap<String, Object>();
+               map.put("fname", HTMLEncoder.encodeHTML(u.getFname()));
+               map.put("mname",
+                               u.getMname() == null
+                                               ? ""
+                                               : HTMLEncoder.encodeHTML(u.getMname()));
+               map.put("lname", HTMLEncoder.encodeHTML(u.getLname()));
+               map.put("suffix",
+                               u.getSuffix() == null ? "" : HTMLEncoder.encodeHTML(u
+                                               .getSuffix()));
+               DateSelector ds = new DateSelector("day", "month", "year");
+               map.put("DoB", ds);
+               map.put("details", "");
+               t.output(out, getLanguage(req), map);
+
+       }
+}
diff --git a/src/org/cacert/gigi/pages/account/MyDetails.templ b/src/org/cacert/gigi/pages/account/MyDetails.templ
new file mode 100644 (file)
index 0000000..fbbb441
--- /dev/null
@@ -0,0 +1,40 @@
+<form method="post" action="/account/myDetails">
+<table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper" width="400">
+  <tr>
+    <td colspan="2" class="title"><?=_My Details?></td>
+  </tr>
+  <tr>
+    <td class="DataTD" width="125"><?=_First Name?>: </td>
+    <td class="DataTD" width="125"><input type="text" name="fname" value="<?=$fname?>"></td>
+  </tr>
+  <tr>
+    <td class="DataTD" valign="top"><?=_Middle Name(s)?><br>
+      (<?=_optional?>)
+    </td>
+    <td class="DataTD"><input type="text" name="mname" value="<?=$mname?>"></td>
+  </tr>
+  <tr>
+    <td class="DataTD"><?=_Last Name?>: </td>
+    <td class="DataTD"><input type="text" name="lname" value="<?=$lname?>"></td>
+  </tr>
+  <tr>
+    <td class="DataTD"><?=_Suffix?><br>
+      (<?=_optional?>)</td>
+    <td class="DataTD"><input type="text" name="suffix" value="<?=$suffix?>"></td>
+  </tr>
+  <tr>
+    <td class="DataTD"><?=_Date of Birth?><br>
+           (<?=_dd/mm/yyyy?>)</td>
+    <td class="DataTD"><?=$DoB?></td>
+  </tr>
+  <tr>
+    <td colspan="2" class="title"><?=_('Show account history')?></td>
+  </tr>
+  <tr>
+    <td colspan="2" class="title"><?=_View secret question & answers and OTP phrases?></td>
+  </tr>
+  <?=$details?>
+  <tr><td class="DataTD" colspan="2"><input type="submit" name="process" value="<?=_Update?>"></td>
+  </tr>
+</table>
+</form>