X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FMyDetailsForm.java;h=9ea66b359965f8ba0142b1ca4cbcced21f252335;hb=07f74d10bddc819f4524e2e0c1a2815eb4e7ec79;hp=848f349069bc21458b160c46721611c733107b93;hpb=e409ba881965634f63f0b67824bc93dda4ec4327;p=gigi.git diff --git a/src/org/cacert/gigi/pages/account/MyDetailsForm.java b/src/org/cacert/gigi/pages/account/MyDetailsForm.java index 848f3490..9ea66b35 100644 --- a/src/org/cacert/gigi/pages/account/MyDetailsForm.java +++ b/src/org/cacert/gigi/pages/account/MyDetailsForm.java @@ -1,17 +1,16 @@ package org.cacert.gigi.pages.account; -import java.io.InputStreamReader; import java.io.PrintWriter; -import java.sql.SQLException; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.cacert.gigi.GigiApiException; +import org.cacert.gigi.dbObjects.Name; import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.DateSelector; -import org.cacert.gigi.output.Form; +import org.cacert.gigi.output.template.Form; import org.cacert.gigi.output.template.Template; import org.cacert.gigi.pages.Page; import org.cacert.gigi.util.HTMLEncoder; @@ -22,7 +21,7 @@ public class MyDetailsForm extends Form { private static Template templ; static { - templ = new Template(new InputStreamReader(MyDetailsForm.class.getResourceAsStream("MyDetailsForm.templ"))); + templ = new Template(MyDetailsForm.class.getResource("MyDetailsForm.templ")); } private User target; @@ -32,33 +31,30 @@ public class MyDetailsForm extends Form { public MyDetailsForm(HttpServletRequest hsr, User target) { super(hsr); this.target = target; - this.ds = new DateSelector("day", "month", "year", target.getDob()); + this.ds = new DateSelector("day", "month", "year", target.getDoB()); } @Override public boolean submit(PrintWriter out, HttpServletRequest req) { try { - if (target.getAssurancePoints() == 0) { - String newFname = req.getParameter("fname").trim(); - String newLname = req.getParameter("lname").trim(); - String newMname = req.getParameter("mname").trim(); - String newSuffix = req.getParameter("suffix").trim(); - if ((newFname.isEmpty() && !target.getFname().isEmpty()) || (newLname.isEmpty() && !target.getLname().isEmpty()) || (newMname.isEmpty() && !target.getMname().isEmpty()) || (newSuffix.isEmpty() && !target.getSuffix().isEmpty())) { - throw new GigiApiException("Names couldn't be removed."); + synchronized (target) { + if (target.getAssurancePoints() == 0) { + String newFname = req.getParameter("fname").trim(); + String newLname = req.getParameter("lname").trim(); + String newMname = req.getParameter("mname").trim(); + String newSuffix = req.getParameter("suffix").trim(); + if (newLname.isEmpty()) { + throw new GigiApiException("Last name cannot be empty."); + } + + target.setName(new Name(newFname, newLname, newMname, newSuffix)); + ds.update(req); + target.setDoB(ds.getDate()); + target.updateUserData(); + } else { + throw new GigiApiException("No change after assurance allowed."); } - target.setFname(newFname); - target.setLname(newLname); - target.setMname(newMname); - target.setSuffix(newSuffix); - ds.update(req); - target.setDob(ds.getDate()); - target.updateUserData(); - } else { - throw new GigiApiException("No change after assurance allowed."); } - } catch (SQLException e) { - new GigiApiException(e).format(out, Page.getLanguage(req)); - return false; } catch (GigiApiException e) { e.format(out, Page.getLanguage(req)); return false; @@ -71,21 +67,18 @@ public class MyDetailsForm extends Form { @Override protected void outputContent(PrintWriter out, Language l, Map vars) { - vars.put("fname", HTMLEncoder.encodeHTML(target.getFname())); - vars.put("mname", target.getMname() == null ? "" : HTMLEncoder.encodeHTML(target.getMname())); - vars.put("lname", HTMLEncoder.encodeHTML(target.getLname())); - vars.put("suffix", target.getSuffix() == null ? "" : HTMLEncoder.encodeHTML(target.getSuffix())); + Name name = target.getName(); + vars.put("fname", HTMLEncoder.encodeHTML(name.getFname())); + vars.put("mname", name.getMname() == null ? "" : HTMLEncoder.encodeHTML(name.getMname())); + vars.put("lname", HTMLEncoder.encodeHTML(name.getLname())); + vars.put("suffix", name.getSuffix() == null ? "" : HTMLEncoder.encodeHTML(name.getSuffix())); vars.put("details", ""); - try { - if (target.getAssurancePoints() == 0) { - vars.put("DoB", ds); - templ.output(out, l, vars); - } else { - vars.put("DoB", DateSelector.getDateFormat().format(target.getDob())); - assured.output(out, l, vars); - } - } catch (SQLException e) { - e.printStackTrace(); + if (target.getAssurancePoints() == 0) { + vars.put("DoB", ds); + templ.output(out, l, vars); + } else { + vars.put("DoB", target.getDoB()); + assured.output(out, l, vars); } }