From ceb9e3a2bb91ecff8ce49604d43fac956df7f80c Mon Sep 17 00:00:00 2001 From: Janis Streib Date: Tue, 13 Jan 2015 17:20:24 +0100 Subject: [PATCH] ADD: Param to include all certificates (also revoked ones) --- src/org/cacert/gigi/dbObjects/CertificateOwner.java | 9 +++++++-- src/org/cacert/gigi/dbObjects/Organisation.java | 2 +- .../cacert/gigi/pages/account/certs/Certificates.java | 2 +- tests/org/cacert/gigi/TestUser.java | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/org/cacert/gigi/dbObjects/CertificateOwner.java b/src/org/cacert/gigi/dbObjects/CertificateOwner.java index b41a404a..d7439f2c 100644 --- a/src/org/cacert/gigi/dbObjects/CertificateOwner.java +++ b/src/org/cacert/gigi/dbObjects/CertificateOwner.java @@ -91,8 +91,13 @@ public abstract class CertificateOwner implements IdCachable { } - public Certificate[] getCertificates() { - GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT serial FROM certs WHERE memid=? AND revoked IS NULL"); + public Certificate[] getCertificates(boolean includeRevoked) { + GigiPreparedStatement ps; + if (includeRevoked) { + ps = DatabaseConnection.getInstance().prepare("SELECT serial FROM certs WHERE memid=?"); + } else { + ps = DatabaseConnection.getInstance().prepare("SELECT serial FROM certs WHERE memid=? AND revoked IS NULL"); + } ps.setInt(1, getId()); GigiResultSet rs = ps.executeQuery(); rs.last(); diff --git a/src/org/cacert/gigi/dbObjects/Organisation.java b/src/org/cacert/gigi/dbObjects/Organisation.java index 25a11b7a..407fcb59 100644 --- a/src/org/cacert/gigi/dbObjects/Organisation.java +++ b/src/org/cacert/gigi/dbObjects/Organisation.java @@ -153,7 +153,7 @@ public class Organisation extends CertificateOwner { } public void update(String o, String c, String st, String l) { - for (Certificate cert : getCertificates()) { + for (Certificate cert : getCertificates(false)) { if (cert.getStatus() == CertificateStatus.ISSUED) { cert.revoke(); } diff --git a/src/org/cacert/gigi/pages/account/certs/Certificates.java b/src/org/cacert/gigi/pages/account/certs/Certificates.java index ac2289f3..e41a1b29 100644 --- a/src/org/cacert/gigi/pages/account/certs/Certificates.java +++ b/src/org/cacert/gigi/pages/account/certs/Certificates.java @@ -110,7 +110,7 @@ public class Certificates extends Page { HashMap vars = new HashMap(); User us = LoginPage.getUser(req); - vars.put("certs", new CertificateIterable(us.getCertificates())); + vars.put("certs", new CertificateIterable(us.getCertificates(false))); certTable.output(out, getLanguage(req), vars); } diff --git a/tests/org/cacert/gigi/TestUser.java b/tests/org/cacert/gigi/TestUser.java index dffbbded..9fcb1868 100644 --- a/tests/org/cacert/gigi/TestUser.java +++ b/tests/org/cacert/gigi/TestUser.java @@ -115,7 +115,7 @@ public class TestUser extends ManagedTest { Assurance[] ma2 = u.getMadeAssurances(); Assurance[] ra = u.getReceivedAssurances(); Assurance[] ra2 = u.getReceivedAssurances(); - assertEquals(0, u.getCertificates().length); + assertEquals(0, u.getCertificates(false).length); assertEquals(0, ma.length); assertEquals(0, ma2.length); assertEquals(0, ra.length); -- 2.39.2