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=317c6709ac6240363c5ed8775807801b700441e2;hb=1e5293e284e84388dd13fcddb4b48d99986426b5;hpb=b1092da65fd373d945343e01dd8975ec3b84db0a diff --git a/src/org/cacert/gigi/pages/account/certs/CertificateAdd.java b/src/org/cacert/gigi/pages/account/certs/CertificateAdd.java index 317c6709..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.output.Form; +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); + } }