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;
@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 (newLname.isEmpty()) {
- throw new GigiApiException("Last name cannot be empty.");
+ 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 (GigiApiException e) {
e.format(out, Page.getLanguage(req));
@Override
protected void outputContent(PrintWriter out, Language l, Map<String, Object> 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", "");
if (target.getAssurancePoints() == 0) {
vars.put("DoB", ds);
templ.output(out, l, vars);
} else {
- vars.put("DoB", DateSelector.getDateFormat().format(target.getDoB()));
+ vars.put("DoB", target.getDoB());
assured.output(out, l, vars);
}
}