X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Fclub%2Fwpia%2Fgigi%2Fpages%2FMainPage.java;h=9ebd30fa5b28f4994534e019a40dd7cc4c105d41;hb=1a5294e9825b7aa6868187cb4097b553f9d02543;hp=882e3a1de07f52b049e25c684560f45a0de94cba;hpb=c16982cf659cbd521d587414bcf6f1afc1a6bf6c;p=gigi.git diff --git a/src/club/wpia/gigi/pages/MainPage.java b/src/club/wpia/gigi/pages/MainPage.java index 882e3a1d..9ebd30fa 100644 --- a/src/club/wpia/gigi/pages/MainPage.java +++ b/src/club/wpia/gigi/pages/MainPage.java @@ -16,7 +16,7 @@ import club.wpia.gigi.dbObjects.Group; import club.wpia.gigi.dbObjects.Organisation; import club.wpia.gigi.dbObjects.User; import club.wpia.gigi.localisation.Language; -import club.wpia.gigi.output.GroupIterator; +import club.wpia.gigi.output.GroupList; import club.wpia.gigi.output.template.IterableDataset; import club.wpia.gigi.output.template.Template; @@ -35,12 +35,31 @@ public class MainPage extends Page { User u = LoginPage.getUser(req); vars.put("username", u.getPreferredName()); final Set gr = u.getGroups(); - vars.put("support-groups", new GroupIterator(gr.iterator(), true)); - vars.put("groups", new GroupIterator(gr.iterator(), false)); + vars.put("support-groups", new GroupList(gr, true)); + vars.put("groups", new GroupList(gr, false)); vars.put("ra-agent", u.canVerify()); vars.put("vp", u.getVerificationPoints()); vars.put("xp", u.getExperiencePoints()); + + 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); @@ -101,6 +120,14 @@ public class MainPage extends Page { } }); 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); + } + getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars); } else {