]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/account/domain/DomainOverview.java
upd: enforce a more strict Form call pattern.
[gigi.git] / src / org / cacert / gigi / pages / account / domain / DomainOverview.java
1 package org.cacert.gigi.pages.account.domain;
2
3 import java.io.IOException;
4 import java.util.HashMap;
5
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8
9 import org.cacert.gigi.GigiApiException;
10 import org.cacert.gigi.dbObjects.CertificateOwner;
11 import org.cacert.gigi.dbObjects.User;
12 import org.cacert.gigi.output.template.Form;
13 import org.cacert.gigi.output.template.Form.CSRFException;
14 import org.cacert.gigi.pages.LoginPage;
15 import org.cacert.gigi.pages.ManagedMultiFormPage;
16
17 public class DomainOverview extends ManagedMultiFormPage {
18
19     public static final String PATH = "/account/domains";
20
21     public DomainOverview() {
22         super("Domains");
23     }
24
25     @Override
26     public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
27         CertificateOwner u = LoginPage.getAuthorizationContext(req).getTarget();
28         try {
29             DomainManagementForm domMan = new DomainManagementForm(req, u, false);
30             HashMap<String, Object> vars = new HashMap<>();
31             vars.put("domainman", domMan);
32             if (u instanceof User) {
33                 DomainAddForm domAdd = new DomainAddForm(req, (User) u);
34                 vars.put("domainadd", domAdd);
35             }
36             getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars);
37         } catch (GigiApiException e) {
38             e.format(resp.getWriter(), getLanguage(req));
39         }
40     }
41
42     @Override
43     public Form getForm(HttpServletRequest req) throws CSRFException {
44         if (req.getParameter("adddomain") != null) {
45             return Form.getForm(req, DomainAddForm.class);
46         } else if (req.getParameter("delete") != null) {
47             return Form.getForm(req, DomainManagementForm.class);
48         }
49         return null;
50     }
51 }