import javax.servlet.http.HttpServletRequest;
+import org.cacert.gigi.Domain;
+import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.Language;
+import org.cacert.gigi.User;
import org.cacert.gigi.output.Form;
import org.cacert.gigi.output.template.Template;
+import org.cacert.gigi.pages.Page;
public class DomainAddForm extends Form {
private static final Template t = new Template(DomainManagementForm.class.getResource("DomainAddForm.templ"));
- public DomainAddForm(HttpServletRequest hsr) {
+ private User target;
+
+ public DomainAddForm(HttpServletRequest hsr, User target) {
super(hsr);
+ this.target = target;
}
@Override
public boolean submit(PrintWriter out, HttpServletRequest req) {
- return false;
+ try {
+ String parameter = req.getParameter("newdomain");
+ if (parameter.trim().isEmpty()) {
+ throw new GigiApiException("No domain inserted.");
+ }
+ Domain d = new Domain(target, parameter);
+ d.insert();
+ return true;
+ } catch (GigiApiException e) {
+ e.format(out, Page.getLanguage(req));
+ return false;
+ }
}
@Override
import javax.servlet.http.HttpServletResponse;
import org.cacert.gigi.User;
+import org.cacert.gigi.output.Form;
import org.cacert.gigi.pages.Page;
public class DomainOverview extends Page {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
User u = getUser(req);
DomainManagementForm domMan = new DomainManagementForm(req);
- DomainAddForm domAdd = new DomainAddForm(req);
+ DomainAddForm domAdd = new DomainAddForm(req, u);
HashMap<String, Object> vars = new HashMap<>();
vars.put("doms", u.getDomains());
vars.put("domainman", domMan);
getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars);
}
+ @Override
+ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ if (req.getParameter("adddomain") != null) {
+ DomainAddForm f = Form.getForm(req, DomainAddForm.class);
+ f.submit(resp.getWriter(), req);
+ } else if (req.getParameter("") != null) {
+ DomainManagementForm f = Form.getForm(req, DomainManagementForm.class);
+ f.submit(resp.getWriter(), req);
+ }
+ super.doPost(req, resp);
+ }
}