X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FCertificateProfile.java;h=0e6f29bac09b0dec6f641910a6414e2d4c0e8c00;hp=3a04090310f889f4c85a325f4d4b4217c5b6996c;hb=dc10b875c132eb7840a6b9827ec93916076d34f7;hpb=03d27b5bdaea6253e674cdf2779465873b657900 diff --git a/src/org/cacert/gigi/dbObjects/CertificateProfile.java b/src/org/cacert/gigi/dbObjects/CertificateProfile.java index 3a040903..0e6f29ba 100644 --- a/src/org/cacert/gigi/dbObjects/CertificateProfile.java +++ b/src/org/cacert/gigi/dbObjects/CertificateProfile.java @@ -237,18 +237,27 @@ public class CertificateProfile implements IdCachable { return byId.values().toArray(new CertificateProfile[byId.size()]); } - public boolean canBeIssuedBy(User u) { + public boolean canBeIssuedBy(CertificateOwner owner, User actor) { + if (pt.containsKey("orga")) { + if ( !(owner instanceof Organisation)) { + return false; + } + } else { + if (owner instanceof Organisation) { + return false; + } + } for (String s : req) { if (s.equals("points>=50")) { - if (u.getAssurancePoints() < 50) { + if (actor.getAssurancePoints() < 50) { return false; } } else if (s.equals("points>=100")) { - if (u.getAssurancePoints() < 100) { + if (actor.getAssurancePoints() < 100) { return false; } } else if (s.equals("codesign")) { - if (u.isInGroup(Group.CODESIGNING)) { + if (actor.isInGroup(Group.CODESIGNING)) { return false; } } else {