From d46bd087fcf633dc2bccecbce63108011da33871 Mon Sep 17 00:00:00 2001 From: INOPIAE Date: Fri, 19 Aug 2016 10:43:07 +0200 Subject: [PATCH] add: add boolean to separate groups for user and support Change-Id: I1482a77d8549178ad8413bab6ad29dac30c50b31 --- src/org/cacert/gigi/dbObjects/Group.java | 22 +++++++++++++------ src/org/cacert/gigi/output/GroupSelector.java | 19 ++++++++++------ .../admin/support/SupportUserDetailsForm.java | 2 +- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/org/cacert/gigi/dbObjects/Group.java b/src/org/cacert/gigi/dbObjects/Group.java index e85b8277..6e250794 100644 --- a/src/org/cacert/gigi/dbObjects/Group.java +++ b/src/org/cacert/gigi/dbObjects/Group.java @@ -6,26 +6,34 @@ import org.cacert.gigi.output.template.Outputable; import org.cacert.gigi.output.template.TranslateCommand; public enum Group { - SUPPORTER("supporter", "supporter"), ARBITRATOR("arbitrator", "arbitrator"), // - BLOCKEDASSURER("blockedassurer", "may not verify"), BLOCKEDASSUREE("blockedassuree", "may not be verified"), // - BLOCKEDLOGIN("blockedlogin", "may not login"), BLOCKEDCERT("blockedcert", "may not issue certificates"), // - TTP_ASSURER("ttp-assurer", "may verify via TTP"), TTP_APPLICANT("ttp-applicant", "requests to be verified via ttp"), // - CODESIGNING("codesigning", "may issue codesigning certificates"), ORGASSURER("orgassurer", "may verify organisations"), // - NUCLEUS_ASSURER("nucleus-assurer", "may enter nucleus verifications"), LOCATE_AGENT("locate-agent", "wants access to the locate agent system"); + SUPPORTER("supporter", "supporter", true), ARBITRATOR("arbitrator", "arbitrator", true), // + BLOCKEDASSURER("blockedassurer", "may not verify", true), BLOCKEDASSUREE("blockedassuree", "may not be verified", true), // + BLOCKEDLOGIN("blockedlogin", "may not login", true), BLOCKEDCERT("blockedcert", "may not issue certificates", true), // + TTP_ASSURER("ttp-assurer", "may verify via TTP", true), TTP_APPLICANT("ttp-applicant", "requests to be verified via ttp", true), // + CODESIGNING("codesigning", "may issue codesigning certificates", true), ORGASSURER("orgassurer", "may verify organisations", true), // + NUCLEUS_ASSURER("nucleus-assurer", "may enter nucleus verifications", true), LOCATE_AGENT("locate-agent", "wants access to the locate agent system", false); private final String dbName; private final TranslateCommand tc; - private Group(String name, String display) { + private final boolean managedBySupport; // true if flag is handled by + // support, false if handled by user + + private Group(String name, String display, boolean managedBySupport) { dbName = name; tc = new TranslateCommand(display); + this.managedBySupport = managedBySupport; } public static Group getByString(String name) { return valueOf(name.toUpperCase().replace('-', '_')); } + public boolean isManagedBySupport() { + return managedBySupport; + } + public String getDatabaseName() { return dbName; } diff --git a/src/org/cacert/gigi/output/GroupSelector.java b/src/org/cacert/gigi/output/GroupSelector.java index a26be9b8..f65fab75 100644 --- a/src/org/cacert/gigi/output/GroupSelector.java +++ b/src/org/cacert/gigi/output/GroupSelector.java @@ -13,12 +13,15 @@ import org.cacert.gigi.util.HTMLEncoder; public class GroupSelector implements Outputable { - String name; + private final String name; - Group value = null; + private Group value = null; - public GroupSelector(String name) { + private final boolean supportFlag; + + public GroupSelector(String name, boolean supportFlag) { this.name = HTMLEncoder.encodeHTML(name); + this.supportFlag = supportFlag; } public void update(HttpServletRequest r) throws GigiApiException { @@ -35,11 +38,13 @@ public class GroupSelector implements Outputable { public void output(PrintWriter out, Language l, Map vars) { out.println(""); } diff --git a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java index 8b37e903..df784058 100644 --- a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java +++ b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java @@ -32,7 +32,7 @@ public class SupportUserDetailsForm extends Form { private DateSelector dobSelector; - private GroupSelector value = new GroupSelector("groupToModify"); + private GroupSelector value = new GroupSelector("groupToModify", true); public SupportUserDetailsForm(HttpServletRequest hsr, SupportedUser user) { super(hsr); -- 2.39.2