X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2Fcerts%2FCertificateAdd.java;h=fa3c1456536677cb19a591d24ccc6a50384b1f7b;hp=4e7da1dd187e69b7e866856d74253ee1846e2235;hb=1e5293e284e84388dd13fcddb4b48d99986426b5;hpb=ec24cf6925bb3729a644580ad4a9375d05883c62 diff --git a/src/org/cacert/gigi/pages/account/certs/CertificateAdd.java b/src/org/cacert/gigi/pages/account/certs/CertificateAdd.java index 4e7da1dd..fa3c1456 100644 --- a/src/org/cacert/gigi/pages/account/certs/CertificateAdd.java +++ b/src/org/cacert/gigi/pages/account/certs/CertificateAdd.java @@ -8,8 +8,11 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.cacert.gigi.dbObjects.Certificate; +import org.cacert.gigi.dbObjects.Certificate.CertificateStatus; +import org.cacert.gigi.dbObjects.Group; import org.cacert.gigi.output.template.Form; import org.cacert.gigi.pages.Page; +import org.cacert.gigi.util.AuthorizationContext; public class CertificateAdd extends Page { @@ -29,10 +32,23 @@ public class CertificateAdd extends Page { CertificateIssueForm f = Form.getForm(req, CertificateIssueForm.class); if (f.submit(resp.getWriter(), req)) { Certificate c = f.getResult(); + if (c.getStatus() != CertificateStatus.ISSUED) { + resp.getWriter().println("Timeout while waiting for certificate."); + return; + } String ser = c.getSerial(); + if (ser.isEmpty()) { + resp.getWriter().println("Timeout while waiting for certificate."); + return; + } resp.sendRedirect(Certificates.PATH + "/" + ser); } f.output(resp.getWriter(), getLanguage(req), Collections.emptyMap()); } + + @Override + public boolean isPermitted(AuthorizationContext ac) { + return super.isPermitted(ac) && !ac.isInGroup(Group.BLOCKEDCERT); + } }