1 package club.wpia.gigi.pages.account.domain;
3 import java.io.IOException;
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
8 import club.wpia.gigi.GigiApiException;
9 import club.wpia.gigi.dbObjects.CertificateOwner;
10 import club.wpia.gigi.dbObjects.Domain;
11 import club.wpia.gigi.output.template.Form;
12 import club.wpia.gigi.output.template.Form.CSRFException;
13 import club.wpia.gigi.pages.LoginPage;
14 import club.wpia.gigi.pages.ManagedMultiFormPage;
16 public class EditDomain extends ManagedMultiFormPage {
18 public static final String PATH = "/account/domains/";
25 public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
26 CertificateOwner u = LoginPage.getAuthorizationContext(req).getTarget();
27 String pi = req.getPathInfo();
28 if (pi.length() - PATH.length() <= 0) {
31 Form.printFormErrors(req, resp.getWriter());
32 int i = Integer.parseInt(pi.substring(PATH.length()));
35 d = Domain.getById(i);
36 } catch (IllegalArgumentException e) {
37 resp.getWriter().println(getLanguage(req).getTranslation("Access denied"));
40 if (d == null || u.getId() != d.getOwner().getId()) {
41 resp.getWriter().println(getLanguage(req).getTranslation("Access denied"));
44 new DomainPinglogForm(req, d).output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
46 new PingConfigForm(req, d).output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
47 } catch (GigiApiException e) {
48 e.format(resp.getWriter(), getLanguage(req), getDefaultVars(req));
54 public Form getForm(HttpServletRequest req) throws CSRFException {
55 String pi = req.getPathInfo();
56 if (pi.length() - PATH.length() <= 0) {
59 if (req.getParameter("configId") != null) {
60 return Form.getForm(req, DomainPinglogForm.class);
62 return Form.getForm(req, PingConfigForm.class);