X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Fclub%2Fwpia%2Fgigi%2Fpages%2Faccount%2FMyDetailsForm.java;h=bf7cbcfd1bb0724485e7536044ddad8f07364479;hp=13d038808fb5c050b32539cf076ce15cc63750ba;hb=46eea3386b6003bd243061cb215196f0f9240c90;hpb=ae39029198c046f75f6b0efea270970d6308fb5c diff --git a/src/club/wpia/gigi/pages/account/MyDetailsForm.java b/src/club/wpia/gigi/pages/account/MyDetailsForm.java index 13d03880..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; @@ -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."); } @@ -161,6 +175,11 @@ public class MyDetailsForm extends Form { 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); } }