]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/admin/support/FindUserByDomainPage.java
upd: rename file to match the function FindUserBy Email/Domain
[gigi.git] / src / org / cacert / gigi / pages / admin / support / FindUserByDomainPage.java
diff --git a/src/org/cacert/gigi/pages/admin/support/FindUserByDomainPage.java b/src/org/cacert/gigi/pages/admin/support/FindUserByDomainPage.java
new file mode 100644 (file)
index 0000000..ee5192b
--- /dev/null
@@ -0,0 +1,34 @@
+package org.cacert.gigi.pages.admin.support;
+
+import org.cacert.gigi.dbObjects.CertificateOwner;
+import org.cacert.gigi.dbObjects.Organisation;
+import org.cacert.gigi.dbObjects.User;
+import org.cacert.gigi.output.template.Form;
+import org.cacert.gigi.pages.OneFormPage;
+import org.cacert.gigi.util.AuthorizationContext;
+
+public class FindUserByDomainPage extends OneFormPage {
+
+    public static final String PATH = "/support/find/domain";
+
+    public FindUserByDomainPage() {
+        super("Find Domain", FindUserByDomainForm.class);
+    }
+
+    @Override
+    public String getSuccessPath(Form f) {
+        CertificateOwner res = ((FindUserByDomainForm) f).getRes();
+        if (res instanceof User) {
+            return SupportUserDetailsPage.PATH + res.getId();
+        } else if (res instanceof Organisation) {
+            return "/support/domain/" + res.getId();
+        } else {
+            throw new Error("Unknown owner type.");
+        }
+    }
+
+    @Override
+    public boolean isPermitted(AuthorizationContext ac) {
+        return ac != null && ac.canSupport();
+    }
+}