X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Fadmin%2Fsupport%2FSupportUserDetailsForm.java;h=b49eaad9154413977e153145d4e1fcc6e131e563;hb=6e172bef3d86590e54d48f11a3fad65c1d4d9cd6;hp=3a8dc30ecf99a863be917fa802e1bae3ef1d1c3d;hpb=6dcec2ace981aadba1f0a04e20e2bafe19b47976;p=gigi.git diff --git a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java index 3a8dc30e..b49eaad9 100644 --- a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java +++ b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java @@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletRequest; import org.cacert.gigi.GigiApiException; import org.cacert.gigi.dbObjects.Group; import org.cacert.gigi.dbObjects.Name; +import org.cacert.gigi.dbObjects.SupportedUser; import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.DateSelector; @@ -18,24 +19,46 @@ public class SupportUserDetailsForm extends Form { private static Template t; - private User user; + private SupportedUser user; + + private DateSelector dobSelector; static { t = new Template(FindDomainForm.class.getResource("SupportUserDetailsForm.templ")); } - public SupportUserDetailsForm(HttpServletRequest hsr, User user) { + public SupportUserDetailsForm(HttpServletRequest hsr, SupportedUser user) { super(hsr); this.user = user; + dobSelector = new DateSelector("dobd", "dobm", "doby", user.getTargetUser().getDoB()); } @Override public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException { - return false; + if (user.getTicket() == null) { + return false; + } + dobSelector.update(req); + String fname = req.getParameter("fname"); + String mname = req.getParameter("mname"); + String lname = req.getParameter("lname"); + String suffix = req.getParameter("suffix"); + if (fname == null || mname == null || lname == null | suffix == null) { + throw new GigiApiException("Incomplete request!"); + } + if ( !dobSelector.isValid()) { + throw new GigiApiException("Invalid date of birth!"); + } + Name newName = new Name(fname, lname, mname, suffix); + if (user.setDob(dobSelector.getDate()) | user.setName(newName)) { + user.submitSupportAction(); + } + return true; } @Override protected void outputContent(PrintWriter out, Language l, Map vars) { + User user = this.user.getTargetUser(); Name name = user.getName(); vars.put("mail", user.getEmail()); vars.put("fname", name.getFname()); @@ -43,7 +66,7 @@ public class SupportUserDetailsForm extends Form { vars.put("lname", name.getLname()); vars.put("suffix", name.getSuffix()); vars.put("assurer", user.canAssure()); - vars.put("dob", new DateSelector("dobd", "dobm", "doby", user.getDoB())); + vars.put("dob", dobSelector); vars.put("blockedassurer", user.isInGroup(Group.BLOCKEDASSURER)); vars.put("codesign", user.isInGroup(Group.CODESIGNING)); vars.put("orgassurer", user.isInGroup(Group.ORGASSURER));