X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Fclub%2Fwpia%2Fgigi%2Fpages%2Faccount%2FMyDetailsForm.java;h=bf7cbcfd1bb0724485e7536044ddad8f07364479;hb=3889444cb95132e342e4b7156245dd032ed3b16b;hp=4af7c94aa01ba7ee13d4088d9f6d89a202cdeb4c;hpb=bccd4cc0dba0f89aa045b113bac46eb8cc1dab4e;p=gigi.git diff --git a/src/club/wpia/gigi/pages/account/MyDetailsForm.java b/src/club/wpia/gigi/pages/account/MyDetailsForm.java index 4af7c94a..bf7cbcfd 100644 --- a/src/club/wpia/gigi/pages/account/MyDetailsForm.java +++ b/src/club/wpia/gigi/pages/account/MyDetailsForm.java @@ -7,6 +7,7 @@ import java.util.Set; import javax.servlet.http.HttpServletRequest; import club.wpia.gigi.GigiApiException; +import club.wpia.gigi.dbObjects.Contract; import club.wpia.gigi.dbObjects.Group; import club.wpia.gigi.dbObjects.Name; import club.wpia.gigi.dbObjects.User; @@ -14,7 +15,7 @@ import club.wpia.gigi.localisation.Language; import club.wpia.gigi.output.ArrayIterable; import club.wpia.gigi.output.CountrySelector; import club.wpia.gigi.output.DateSelector; -import club.wpia.gigi.output.GroupIterator; +import club.wpia.gigi.output.GroupList; import club.wpia.gigi.output.GroupSelector; import club.wpia.gigi.output.NameInput; import club.wpia.gigi.output.template.Form; @@ -22,7 +23,7 @@ import club.wpia.gigi.output.template.Template; public class MyDetailsForm extends Form { - private static final Template assured = new Template(MyDetails.class.getResource("MyDetailsFormAssured.templ")); + private static final Template verified = new Template(MyDetails.class.getResource("MyDetailsFormVerified.templ")); private static final Template templ = new Template(MyDetailsForm.class.getResource("MyDetailsForm.templ")); @@ -30,6 +31,8 @@ public class MyDetailsForm extends Form { private static final Template roles = new Template(MyDetailsForm.class.getResource("MyDetailsRoles.templ")); + private static final Template contracts = new Template(MyDetailsForm.class.getResource("MyDetailsContracts.templ")); + private User target; private DateSelector ds; @@ -110,6 +113,17 @@ public class MyDetailsForm extends Form { target.revokeGroup(target, toMod); } return new RedirectResult(MyDetails.PATH); + } else if ("viewContract".equals(action)) { + return new RedirectResult(MyContracts.PATH); + } else if ("signContract".equals(action)) { + new Contract(target, Contract.ContractType.RA_AGENT_CONTRACT); + return new RedirectResult(MyDetails.PATH); + } else if ("revokeContract".equals(action)) { + Contract c = Contract.getRAAgentContractByUser(target); + if (c != null) { + c.revokeContract(); + } + return new RedirectResult(MyDetails.PATH); } else { throw new GigiApiException("Invalid action."); } @@ -140,7 +154,7 @@ public class MyDetailsForm extends Form { } vars.put("name", t); vars.put("id", t.getId()); - vars.put("npoints", Integer.toString(t.getAssurancePoints())); + vars.put("npoints", Integer.toString(t.getVerificationPoints())); } }); @@ -148,19 +162,24 @@ public class MyDetailsForm extends Form { names.output(out, l, vars); vars.put("residenceCountry", cs); - if (target.getReceivedAssurances().length == 0) { + if (target.getReceivedVerifications().length == 0) { vars.put("DoB", ds); templ.output(out, l, vars); } else { vars.put("DoB", target.getDoB()); - assured.output(out, l, vars); + verified.output(out, l, vars); } final Set gr = target.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("groupSelector", selectedGroup); roles.output(out, l, vars); + + boolean hasSignedContract = Contract.hasSignedContract(target, Contract.ContractType.RA_AGENT_CONTRACT); + vars.put("contractsign", hasSignedContract ? "disabled" : ""); + vars.put("contractrevoke", hasSignedContract ? "" : "disabled"); + contracts.output(out, l, vars); } }