]> WPIA git - gigi.git/blob - src/club/wpia/gigi/pages/admin/support/SupportOrgDomainPage.java
chg: enable support to find organisation domains
[gigi.git] / src / club / wpia / gigi / pages / admin / support / SupportOrgDomainPage.java
1 package club.wpia.gigi.pages.admin.support;
2
3 import java.io.IOException;
4 import java.util.Map;
5
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8
9 import club.wpia.gigi.dbObjects.Domain;
10 import club.wpia.gigi.dbObjects.Organisation;
11 import club.wpia.gigi.pages.Page;
12 import club.wpia.gigi.util.AuthorizationContext;
13
14 public class SupportOrgDomainPage extends Page {
15
16     public static final String PATH = "/support/domain/";
17
18     public SupportOrgDomainPage() {
19         super("Support: Organisation Domain");
20     }
21
22     @Override
23     public boolean isPermitted(AuthorizationContext ac) {
24         return ac != null && ac.canSupport();
25     }
26
27     @Override
28     public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
29         Domain orgDomain = getDomain(req, resp);
30         if (orgDomain == null) {
31             return;
32         }
33
34         Organisation org = Organisation.getById(orgDomain.getOwner().getId());
35         Map<String, Object> vars = getDefaultVars(req);
36         vars.put("domain", orgDomain.getSuffix());
37         vars.put("organisation", org.getName());
38
39         getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars);
40     }
41
42     private Domain getDomain(HttpServletRequest req, HttpServletResponse resp) throws IOException {
43         int id = -1;
44         String[] idP = req.getPathInfo().split("/");
45         try {
46             id = Integer.parseInt(idP[idP.length - 1]);
47         } catch (NumberFormatException e) {
48             resp.sendError(400);
49             return null;
50         }
51         final Domain domain = Domain.getById(id);
52         if (domain == null) {
53             resp.sendError(400);
54             return null;
55         }
56         return domain;
57     }
58
59 }