]> WPIA git - gigi.git/blobdiff - src/club/wpia/gigi/pages/MainPage.java
add: ensure that for Support actions there is a valid Support Challenge
[gigi.git] / src / club / wpia / gigi / pages / MainPage.java
index 53cad4a02f41fe1f05feae86bae4bc7a5834645a..9b7e079c25af0a8081c9e70f4cc1c9b562d8d998 100644 (file)
@@ -40,11 +40,16 @@ public class MainPage extends Page {
             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);
             }
             Certificate[] c = u.getCertificates(false);
             vars.put("c-no", c.length);
@@ -106,6 +111,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 {