]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/orga/CreateOrgForm.java
5e6b35a2a99989e49be3d1a5eebad307a0a31884
[gigi.git] / src / org / cacert / gigi / pages / orga / CreateOrgForm.java
1 package org.cacert.gigi.pages.orga;
2
3 import java.io.PrintWriter;
4 import java.util.Map;
5
6 import javax.servlet.http.HttpServletRequest;
7
8 import org.cacert.gigi.GigiApiException;
9 import org.cacert.gigi.dbObjects.Organisation;
10 import org.cacert.gigi.localisation.Language;
11 import org.cacert.gigi.output.template.Form;
12 import org.cacert.gigi.output.template.Template;
13 import org.cacert.gigi.pages.LoginPage;
14
15 public class CreateOrgForm extends Form {
16
17     private final static Template t = new Template(CreateOrgForm.class.getResource("CreateOrgForm.templ"));
18
19     private Organisation result;
20
21     private String o = "";
22
23     private String c = "";
24
25     private String st = "";
26
27     private String l = "";
28
29     private String email = "";
30
31     private String optionalName = "";
32
33     private String postalAddress = "";
34
35     private boolean isEdit = false;
36
37     public CreateOrgForm(HttpServletRequest hsr) {
38         super(hsr);
39     }
40
41     public CreateOrgForm(HttpServletRequest hsr, Organisation t) {
42         super(hsr);
43         isEdit = true;
44         result = t;
45         o = t.getName();
46         c = t.getState();
47         st = t.getProvince();
48         l = t.getCity();
49         email = t.getContactEmail();
50         optionalName = t.getOptionalName();
51         postalAddress = t.getPostalAddress();
52     }
53
54     @Override
55     public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
56         String action = req.getParameter("action");
57         if (action == null) {
58             return false;
59         }
60         if (action.equals("new")) {
61             o = req.getParameter("O");
62             c = req.getParameter("C");
63             st = req.getParameter("ST");
64             l = req.getParameter("L");
65             email = req.getParameter("contact");
66             optionalName = req.getParameter("optionalName");
67             postalAddress = req.getParameter("postalAddress");
68
69             Organisation ne = new Organisation(o, c, st, l, email, optionalName, postalAddress, LoginPage.getUser(req));
70             result = ne;
71             return true;
72         } else if (action.equals("updateOrganisationData")) {
73             updateOrganisationData(out, req);
74             return true;
75         } else if (action.equals("updateCertificateData")) {
76             updateCertificateData(out, req);
77             return true;
78         }
79
80         return false;
81     }
82
83     private void updateOrganisationData(PrintWriter out, HttpServletRequest req) throws GigiApiException {
84         email = req.getParameter("contact");
85         optionalName = req.getParameter("optionalName");
86         postalAddress = req.getParameter("postalAddress");
87
88         result.updateOrgData(email, optionalName, postalAddress);
89     }
90
91     private void updateCertificateData(PrintWriter out, HttpServletRequest req) throws GigiApiException {
92         o = req.getParameter("O");
93         c = req.getParameter("C");
94         st = req.getParameter("ST");
95         l = req.getParameter("L");
96
97         result.updateCertData(o, c, st, l);
98     }
99
100     public Organisation getResult() {
101         return result;
102     }
103
104     @Override
105     protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
106         vars.put("O", o);
107         vars.put("C", c);
108         vars.put("ST", st);
109         vars.put("L", this.l);
110         vars.put("email", email);
111         vars.put("optionalName", optionalName);
112         vars.put("postalAddress", postalAddress);
113         if (isEdit) {
114             vars.put("edit", true);
115         }
116         t.output(out, l, vars);
117     }
118 }