]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/orga/CreateOrgPage.java
WIP orga-things
[gigi.git] / src / org / cacert / gigi / pages / orga / CreateOrgPage.java
1 package org.cacert.gigi.pages.orga;
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.Group;
11 import org.cacert.gigi.dbObjects.User;
12 import org.cacert.gigi.output.Form;
13 import org.cacert.gigi.pages.Page;
14
15 public class CreateOrgPage extends Page {
16
17     public static final Group ORG_ASSURER = Group.getByString("orgassurer");
18
19     public static final String DEFAULT_PATH = "/orga/new";
20
21     public CreateOrgPage() {
22         super("Create Organisation");
23     }
24
25     @Override
26     public boolean isPermitted(User u) {
27         return u != null && u.isInGroup(ORG_ASSURER);
28     }
29
30     @Override
31     public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
32         try {
33             CreateOrgForm form = Form.getForm(req, CreateOrgForm.class);
34             if (form.submit(resp.getWriter(), req)) {
35                 resp.sendRedirect(ViewOrgPage.DEFAULT_PATH + "/" + form.getResult().getId());
36                 return;
37             }
38         } catch (GigiApiException e) {
39             e.format(resp.getWriter(), getLanguage(req));
40         }
41     }
42
43     @Override
44     public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
45         new CreateOrgForm(req).output(resp.getWriter(), getLanguage(req), new HashMap<String, Object>());
46     }
47 }