import org.cacert.gigi.output.NameInput;
import org.cacert.gigi.output.template.Form;
import org.cacert.gigi.output.template.Template;
-import org.cacert.gigi.pages.Page;
public class MyDetailsForm extends Form {
}
@Override
- public boolean submit(PrintWriter out, HttpServletRequest req) {
+ public SubmissionResult submit(HttpServletRequest req) throws GigiApiException {
try {
String rn = req.getParameter("removeName");
if (rn != null) {
throw new GigiApiException("Cannot remove the account's preferred name.");
}
n.remove();
- return true;
+ return new RedirectResult(MyDetails.PATH);
}
String dn = req.getParameter("deprecateName");
if (dn != null) {
throw new GigiApiException("Cannot deprecate the account's preferred name.");
}
n.deprecate();
- return true;
+ return new RedirectResult(MyDetails.PATH);
}
String pn = req.getParameter("preferred");
if (pn != null) {
Name n = Name.getById(Integer.parseInt(pn));
target.setPreferredName(n);
- return true;
+ return new RedirectResult(MyDetails.PATH);
}
String action = req.getParameter("action");
if ("addName".equals(action)) {
ni.update(req);
ni.createName(target);
- return true;
- }
- if ("updateDoB".equals(action)) {
+ return new RedirectResult(MyDetails.PATH);
+ } else if ("updateDoB".equals(action)) {
ds.update(req);
target.setDoB(ds.getDate());
- }
- if ("updateResidenceCountry".equals(action)) {
+ return new RedirectResult(MyDetails.PATH);
+ } else if ("updateResidenceCountry".equals(action)) {
cs.update(req);
target.setResidenceCountry(cs.getCountry());
- }
-
- if ("addGroup".equals(action) || "removeGroup".equals(action)) {
+ return new RedirectResult(MyDetails.PATH);
+ } else if ("addGroup".equals(action) || "removeGroup".equals(action)) {
selectedGroup.update(req);
Group toMod = selectedGroup.getGroup();
if ("addGroup".equals(action)) {
} else {
target.revokeGroup(target, toMod);
}
- return true;
+ return new RedirectResult(MyDetails.PATH);
+ } else {
+ throw new GigiApiException("Invalid action.");
}
- } catch (GigiApiException e) {
- e.format(out, Page.getLanguage(req));
- return false;
} catch (NumberFormatException e) {
- new GigiApiException("Invalid value.").format(out, Page.getLanguage(req));
- return false;
+ throw new GigiApiException("Invalid value.");
}
- return false;
}
@Override