import club.wpia.gigi.output.GroupList;
import club.wpia.gigi.output.template.IterableDataset;
import club.wpia.gigi.output.template.Template;
+import club.wpia.gigi.util.ServerConstants;
public class MainPage extends Page {
private static final Template notLog = new Template(MainPage.class.getResource("MainPageNotLogin.templ"));
+ private static final Template notLogCommunity = new Template(MainPage.class.getResource("MainPageNotLoginCommunity.templ"));
+
public MainPage() {
super("Home");
}
vars.put("ra-agent", u.canVerify());
vars.put("vp", u.getVerificationPoints());
vars.put("xp", u.getExperiencePoints());
- if (u.isInGroup(Group.SUPPORTER) || u.isInGroup(Group.ORG_AGENT) || u.isInGroup(Group.TTP_AGENT) || u.canVerify()) {
- vars.put("certlogin", LoginPage.getAuthorizationContext(req).isStronglyAuthenticated());
- vars.put("certlogininfo", true);
- } else {
- vars.put("certlogininfo", false);
+
+ vars.put("catsinfo", false);
+ if (u.canVerify() && !u.hasValidRAChallenge()) {
+ vars.put("catsinfo", true);
+ vars.put("catsra", true);
}
+ if (u.isInGroup(Group.SUPPORTER) && !u.hasValidSupportChallenge()) {
+ vars.put("catsinfo", true);
+ vars.put("catssupport", true);
+ }
+ if (u.isInGroup(Group.ORG_AGENT) && !u.hasValidOrgAgentChallenge()) {
+ vars.put("catsinfo", true);
+ vars.put("catsorgagent", true);
+ }
+ if (u.isInGroup(Group.TTP_AGENT) && !u.hasValidTTPAgentChallenge()) {
+ vars.put("catsinfo", true);
+ vars.put("catsttpagent", true);
+ }
+
Certificate[] c = u.getCertificates(false);
vars.put("c-no", c.length);
}
});
vars.put("hasorgs", !o.isEmpty());
+
+ if (u.isInGroup(Group.SUPPORTER) || u.isInGroup(Group.ORG_AGENT) || u.isInGroup(Group.TTP_AGENT) || u.canVerify() || !o.isEmpty()) {
+ vars.put("certlogin", LoginPage.getAuthorizationContext(req).isStronglyAuthenticated());
+ vars.put("certlogininfo", true);
+ } else {
+ vars.put("certlogininfo", false);
+ }
+
+ if ( !o.isEmpty() && !u.hasValidOrgAdminChallenge()) {
+ vars.put("catsinfo", true);
+ vars.put("catsorgadmin", true);
+ }
+
getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars);
} else {
- notLog.output(resp.getWriter(), getLanguage(req), vars);
+ if (ServerConstants.isCommunityCA()) {
+ notLogCommunity.output(resp.getWriter(), getLanguage(req), vars);
+ } else {
+ notLog.output(resp.getWriter(), getLanguage(req), vars);
+ }
}
}