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.User;
+import org.cacert.gigi.dbObjects.Name;
+import org.cacert.gigi.dbObjects.User;
import org.cacert.gigi.localisation.Language;
-import org.cacert.gigi.output.CertificateValiditySelector;
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;
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;
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
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.");
+ if (newLname.isEmpty()) {
+ throw new GigiApiException("Last name cannot be empty.");
}
- target.setFname(newFname);
- target.setLname(newLname);
- target.setMname(newMname);
- target.setSuffix(newSuffix);
+ target.setName(new Name(newFname, newLname, newMname, newSuffix));
ds.update(req);
- target.setDob(ds.getDate());
+ 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;
@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", "");
- try {
- if (target.getAssurancePoints() == 0) {
- vars.put("DoB", ds);
- templ.output(out, l, vars);
- } else {
- vars.put("DoB", CertificateValiditySelector.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);
}
}