]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/admin/support/FindDomainPage.java
upd: change the find user routine to search for all email addresses
[gigi.git] / src / org / cacert / gigi / pages / admin / support / FindDomainPage.java
index fec8bc1b44997d529cd506947e955d2799f64c32..06d41621def5495df91c8c4a5ce923fa600da601 100644 (file)
@@ -1,28 +1,34 @@
 package org.cacert.gigi.pages.admin.support;
 
-import org.cacert.gigi.dbObjects.Group;
+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 FindDomainPage extends OneFormPage {
 
     public static final String PATH = "/support/find/domain";
 
-    public FindDomainPage(String title) {
-        super(title, FindDomainForm.class);
+    public FindDomainPage() {
+        super("Find Domain", FindDomainForm.class);
     }
 
     @Override
     public String getSuccessPath(Form f) {
-        return SupportUserDetailsPage.PATH + ((FindDomainForm) f).getUserId();
+        CertificateOwner res = ((FindDomainForm) 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(User u) {
-        if (u == null) {
-            return false;
-        }
-        return u.isInGroup(Group.SUPPORTER);
+    public boolean isPermitted(AuthorizationContext ac) {
+        return ac != null && ac.canSupport();
     }
 }