From: Janis Streib Date: Tue, 13 Jan 2015 16:20:24 +0000 (+0100) Subject: ADD: Param to include all certificates (also revoked ones) X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=ceb9e3a2bb91ecff8ce49604d43fac956df7f80c ADD: Param to include all certificates (also revoked ones) --- 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);