From 22515cd92d065afa2d8c8ce6601a5cc81bf357d8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Wed, 13 Aug 2014 00:25:52 +0200 Subject: [PATCH 1/1] Keep the selected certificate profile. --- .../gigi/pages/account/CertificateIssueForm.java | 12 ++++++++---- .../gigi/pages/account/CertificateIssueForm.templ | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/org/cacert/gigi/pages/account/CertificateIssueForm.java b/src/org/cacert/gigi/pages/account/CertificateIssueForm.java index a5c738d2..decda34d 100644 --- a/src/org/cacert/gigi/pages/account/CertificateIssueForm.java +++ b/src/org/cacert/gigi/pages/account/CertificateIssueForm.java @@ -84,6 +84,8 @@ public class CertificateIssueForm extends Form { boolean login; + CertificateProfile profile = CertificateProfile.getById(1); + public CertificateIssueForm(HttpServletRequest hsr) { super(hsr); u = Page.getUser(hsr); @@ -194,14 +196,12 @@ public class CertificateIssueForm extends Form { if (hashAlg != null) { selectedDigest = Digest.valueOf(hashAlg); } - CertificateProfile profile = CertificateProfile.getByName(req.getParameter("profile")); + profile = CertificateProfile.getByName(req.getParameter("profile")); String pDNS = null; String pMail = null; Set filteredSANs = new LinkedHashSet<>(); boolean server = profile.getKeyName().equals("server"); - boolean dirty = false; - ; for (SubjectAlternateName san : parseSANBox(req.getParameter("SANs"))) { if (san.getType() == SANType.DNS) { if (u.isValidDomain(san.getName()) && server) { @@ -220,7 +220,6 @@ public class CertificateIssueForm extends Form { continue; } } - dirty = true; outputError(out, req, "The requested Subject alternate name \"%s\" has been removed.",// san.getType().toString().toLowerCase() + ":" + san.getName()); } @@ -373,6 +372,11 @@ public class CertificateIssueForm extends Form { if (cp == null) { return false; } + if (cp.getId() == profile.getId()) { + vars.put("selected", " selected"); + } else { + vars.put("selected", ""); + } vars.put("key", cp.getKeyName()); vars.put("name", cp.getVisibleName()); return true; diff --git a/src/org/cacert/gigi/pages/account/CertificateIssueForm.templ b/src/org/cacert/gigi/pages/account/CertificateIssueForm.templ index d3cd81ef..6c76287c 100644 --- a/src/org/cacert/gigi/pages/account/CertificateIssueForm.templ +++ b/src/org/cacert/gigi/pages/account/CertificateIssueForm.templ @@ -21,7 +21,7 @@ : -- 2.39.2