]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/admin/support/FindUserByDomainForm.java
upd: rename file to match the function FindUserBy Email/Domain
[gigi.git] / src / org / cacert / gigi / pages / admin / support / FindUserByDomainForm.java
diff --git a/src/org/cacert/gigi/pages/admin/support/FindUserByDomainForm.java b/src/org/cacert/gigi/pages/admin/support/FindUserByDomainForm.java
new file mode 100644 (file)
index 0000000..779b002
--- /dev/null
@@ -0,0 +1,55 @@
+package org.cacert.gigi.pages.admin.support;
+
+import java.io.PrintWriter;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.cacert.gigi.GigiApiException;
+import org.cacert.gigi.dbObjects.CertificateOwner;
+import org.cacert.gigi.dbObjects.Domain;
+import org.cacert.gigi.localisation.Language;
+import org.cacert.gigi.output.template.Form;
+import org.cacert.gigi.output.template.SprintfCommand;
+import org.cacert.gigi.output.template.Template;
+
+public class FindUserByDomainForm extends Form {
+
+    private CertificateOwner res = null;
+
+    private static final Template t = new Template(FindUserByDomainForm.class.getResource("FindUserByDomainForm.templ"));
+
+    public FindUserByDomainForm(HttpServletRequest hsr) {
+        super(hsr);
+    }
+
+    @Override
+    public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
+        String request = req.getParameter("domain");
+        Domain d = null;
+        if (request.matches("#[0-9]+")) {
+            try {
+                d = Domain.getById(Integer.parseInt(request.substring(1)));
+            } catch (IllegalArgumentException e) {
+                throw new GigiApiException(SprintfCommand.createSimple("No personal domains found matching the id {0}", request.substring(1)));
+            }
+        } else {
+            d = Domain.searchUserIdByDomain(request);
+        }
+        if (d == null) {
+            throw new GigiApiException(SprintfCommand.createSimple("No personal domains found matching {0}", request));
+        }
+        res = d.getOwner();
+        return true;
+    }
+
+    @Override
+    protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
+        t.output(out, l, vars);
+    }
+
+    public CertificateOwner getRes() {
+        return res;
+    }
+
+}