]> WPIA git - gigi.git/blobdiff - src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.java
chg: make description work for certificate, save and display description
[gigi.git] / src / club / wpia / gigi / pages / account / certs / CertificateIssueForm.java
index cfeeaddd52a60cbbede420189bba923be09e5bd2..81925716caba4cc8376f47b312f0242f85473751 100644 (file)
@@ -10,12 +10,12 @@ import javax.servlet.http.HttpServletRequest;
 
 import club.wpia.gigi.GigiApiException;
 import club.wpia.gigi.dbObjects.Certificate;
+import club.wpia.gigi.dbObjects.Certificate.CertificateStatus;
+import club.wpia.gigi.dbObjects.Certificate.SubjectAlternateName;
 import club.wpia.gigi.dbObjects.CertificateProfile;
 import club.wpia.gigi.dbObjects.Domain;
 import club.wpia.gigi.dbObjects.Organisation;
 import club.wpia.gigi.dbObjects.User;
-import club.wpia.gigi.dbObjects.Certificate.CertificateStatus;
-import club.wpia.gigi.dbObjects.Certificate.SubjectAlternateName;
 import club.wpia.gigi.localisation.Language;
 import club.wpia.gigi.output.CertificateValiditySelector;
 import club.wpia.gigi.output.HashAlgorithms;
@@ -28,6 +28,7 @@ import club.wpia.gigi.util.AuthorizationContext;
 import club.wpia.gigi.util.HTMLEncoder;
 import club.wpia.gigi.util.RandomToken;
 import club.wpia.gigi.util.ServerConstants;
+import club.wpia.gigi.util.ServerConstants.Host;
 
 /**
  * This class represents a form that is used for issuing certificates. This
@@ -98,6 +99,13 @@ public class CertificateIssueForm extends Form {
                 if (login) {
                     result.setLoginEnabled(true);
                 }
+                if (req.getParameter("description") != null) {
+                    String description = req.getParameter("description").trim();
+                    if (description.length() > 100) {
+                        throw new GigiApiException("Submitted description is longer than 100 characters.");
+                    }
+                    result.setDescription(description);
+                }
                 result.issue(issueDate.getFrom(), issueDate.getTo(), c.getActor()).waitFor(60000);
                 this.result = result;
                 Certificate c = result;
@@ -141,7 +149,6 @@ public class CertificateIssueForm extends Form {
     @Override
     protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
         HashMap<String, Object> vars2 = new HashMap<String, Object>(vars);
-
         StringBuffer content = new StringBuffer();
         for (SubjectAlternateName SAN : cr.getSANs()) {
             content.append(SAN.getType().toString().toLowerCase());
@@ -169,7 +176,7 @@ public class CertificateIssueForm extends Form {
             @Override
             public void output(PrintWriter out, Language l, Map<String, Object> vars) {
                 out.print("<code>");
-                out.print(HTMLEncoder.encodeHTML("https://" + ServerConstants.getSecureHostNamePortSecure()));
+                out.print(HTMLEncoder.encodeHTML("https://" + ServerConstants.getHostNamePortSecure(Host.SECURE)));
                 out.print("</code>");
             }
         });