]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/orga/CreateOrgForm.java
fix: ResultSet.getDate is often wrong as it fetches day-precision times
[gigi.git] / src / org / cacert / gigi / pages / orga / CreateOrgForm.java
index 2d57a3c4af642c98a1e51df48b0ba1a4919cb4a4..7b69822549d16860cd37da089a967933b0d28f07 100644 (file)
@@ -39,11 +39,7 @@ public class CreateOrgForm extends Form {
 
     public CreateOrgForm(HttpServletRequest hsr) {
         super(hsr);
-        try {
-            cs = new CountrySelector("C", false);
-        } catch (GigiApiException e) {
-            throw new Error(e); // should not happen
-        }
+        cs = new CountrySelector("C", false);
     }
 
     public CreateOrgForm(HttpServletRequest hsr, Organisation t) {
@@ -51,11 +47,9 @@ public class CreateOrgForm extends Form {
         isEdit = true;
         result = t;
         o = t.getName();
-        try {
-            cs = new CountrySelector("C", false, t.getState());
-        } catch (GigiApiException e) {
-            throw new Error(e);
-        }
+
+        cs = new CountrySelector("C", false, t.getCountry());
+
         st = t.getProvince();
         l = t.getCity();
         email = t.getContactEmail();
@@ -64,10 +58,10 @@ public class CreateOrgForm extends Form {
     }
 
     @Override
-    public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
+    public SubmissionResult submit(HttpServletRequest req) throws GigiApiException {
         String action = req.getParameter("action");
         if (action == null) {
-            return false;
+            throw new GigiApiException("No action given.");
         }
 
         if (action.equals("new")) {
@@ -75,18 +69,16 @@ public class CreateOrgForm extends Form {
             checkOrganisationData(req);
             Organisation ne = new Organisation(o, cs.getCountry(), st, l, email, optionalName, postalAddress, LoginPage.getUser(req));
             result = ne;
-            return true;
         } else if (action.equals("updateOrganisationData")) {
             checkOrganisationData(req);
             result.updateOrgData(email, optionalName, postalAddress);
-            return true;
         } else if (action.equals("updateCertificateData")) {
             checkCertData(req);
             result.updateCertData(o, cs.getCountry(), st, l);
-            return true;
+        } else {
+            throw new GigiApiException("No valid action given.");
         }
-
-        return false;
+        return new RedirectResult(ViewOrgPage.DEFAULT_PATH + "/" + result.getId());
     }
 
     private void checkOrganisationData(HttpServletRequest req) throws GigiApiException {
@@ -126,10 +118,6 @@ public class CreateOrgForm extends Form {
         return parameter.trim();
     }
 
-    public Organisation getResult() {
-        return result;
-    }
-
     @Override
     protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
         vars.put("O", o);