return em;
}
- public static int searchUserIdByDomain(String domain) {
- try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT `memid` FROM `domains` WHERE `domain` = ?")) {
+ public static Domain searchUserIdByDomain(String domain) {
+ try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT `id` FROM `domains` WHERE `domain` = ?")) {
ps.setString(1, domain);
GigiResultSet res = ps.executeQuery();
if (res.next()) {
- return res.getInt(1);
+ return getById(res.getInt(1));
} else {
- return -1;
+ return null;
}
}
}
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;
public class FindDomainForm extends Form {
- private int userId = -1;
+ private CertificateOwner res = null;
private static Template t;
static {
@Override
public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
String request = req.getParameter("domain");
+ Domain d = null;
if (request.matches("#[0-9]+")) {
try {
- Domain domainById = Domain.getById(Integer.parseInt(request.substring(1)));
- userId = domainById.getOwner().getId();
+ d = Domain.getById(Integer.parseInt(request.substring(1)));
} catch (IllegalArgumentException e) {
throw (new GigiApiException("No personal domains found matching the id " + request.substring(1) + "."));
}
} else {
- userId = Domain.searchUserIdByDomain(request);
+ d = Domain.searchUserIdByDomain(request);
}
- if (userId == -1) {
+ if (d == null) {
throw (new GigiApiException("No personal domains found matching " + request));
}
+ res = d.getOwner();
return true;
}
t.output(out, l, vars);
}
- public int getUserId() {
- return userId;
+ public CertificateOwner getRes() {
+ return res;
}
}
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;
@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