import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.dbObjects.Certificate;
+import org.cacert.gigi.dbObjects.Certificate.CertificateStatus;
import org.cacert.gigi.dbObjects.CertificateProfile;
-import org.cacert.gigi.dbObjects.User;
+import org.cacert.gigi.dbObjects.SupportedUser;
import org.cacert.gigi.localisation.Language;
-import org.cacert.gigi.output.DateSelector;
import org.cacert.gigi.output.template.Form;
import org.cacert.gigi.output.template.IterableDataset;
import org.cacert.gigi.output.template.Template;
private static Template t;
- private User user;
+ private SupportedUser user;
static {
t = new Template(SupportRevokeCertificatesForm.class.getResource("SupportRevokeCertificatesForm.templ"));
}
- public SupportRevokeCertificatesForm(HttpServletRequest hsr, User user) {
+ public SupportRevokeCertificatesForm(HttpServletRequest hsr, SupportedUser user) {
super(hsr);
this.user = user;
}
@Override
public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
+ if (user.getTicket() != null) {
+ user.revokeAllCertificates();
+ return true;
+ }
return false;
}
}
int valid = 0;
int total = 0;
+ int revoked = 0;
long lastExpire = Long.MIN_VALUE;
for (int i = 0; i < certs.length; i++) {
try {
continue;
}
total++;
+ if (certs[i].getStatus() == CertificateStatus.DRAFT) {
+ continue;
+ }
+ if (certs[i].getStatus() == CertificateStatus.REVOKED) {
+ revoked++;
+ continue;
+ }
certs[i].cert().checkValidity();
lastExpire = Math.max(lastExpire, certs[i].cert().getNotAfter().getTime());
valid++;
vars.put("profile", profiles[typeIndex].getVisibleName());
vars.put("valid", valid);
vars.put("exp", total - valid);
- vars.put("rev", "TODO");
+ vars.put("rev", revoked);
if (lastExpire == Long.MIN_VALUE) {
vars.put("lastdate", "-");
} else {
- vars.put("lastdate", DateSelector.getDateFormat().format(new Date(lastExpire)));
+ vars.put("lastdate", new Date(lastExpire));
}
typeIndex++;
return true;