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=2d9680f18aa619a7b4c567646b9a697ba85e4382;hb=1e5293e284e84388dd13fcddb4b48d99986426b5;hpb=099a62e97ba2f7a42f0e400c4343a9838acf5eb0 diff --git a/src/org/cacert/gigi/pages/account/certs/CertificateAdd.java b/src/org/cacert/gigi/pages/account/certs/CertificateAdd.java index 2d9680f1..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,13 +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("C"); + 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); + } }