X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=util-testing%2Fclub%2Fwpia%2Fgigi%2Fpages%2FManager.java;h=bd90d2629fb1c05901785bc190cedaff0671b72c;hp=6cce345eec5c4cb722165a52d87f6fa02450047b;hb=fb82805feb4ac7a4caafee498c1dd20c870fc4fc;hpb=46eea3386b6003bd243061cb215196f0f9240c90;ds=sidebyside
diff --git a/util-testing/club/wpia/gigi/pages/Manager.java b/util-testing/club/wpia/gigi/pages/Manager.java
index 6cce345e..bd90d262 100644
--- a/util-testing/club/wpia/gigi/pages/Manager.java
+++ b/util-testing/club/wpia/gigi/pages/Manager.java
@@ -409,33 +409,16 @@ public class Manager extends Page {
}
int vp = 0;
- int agentNumber = 0;
try {
- try {
- vp = Integer.parseInt(verificationPoints);
- } catch (NumberFormatException e) {
- throw new GigiApiException("No valid Verification Points entered.");
- }
-
- if (vp > 100) { // only allow max 100 Verification points
- vp = 100;
- }
-
- while (vp > 0) {
- int currentVP = 10;
- if (vp < 10) {
- currentVP = vp;
- }
- Notary.verify(getAgent(agentNumber), byEmail, byEmail.getPreferredName(), byEmail.getDoB(), currentVP, "Testmanager Verify up code", validVerificationDateString(), VerificationType.FACE_TO_FACE, getRandomCountry());
- agentNumber += 1;
- vp -= currentVP;
- }
-
- } catch (GigiApiException e) {
- throw new Error(e);
+ vp = Integer.parseInt(verificationPoints);
+ } catch (NumberFormatException e) {
+ resp.getWriter().println("No valid Verification Points entered.");
+ vp = 0;
}
+ int agentNumber = addVerificationPoints(vp, byEmail);
+
resp.getWriter().println("User has been verified " + agentNumber + " times.");
} else if (req.getParameter("letverify") != null) {
@@ -503,10 +486,54 @@ public class Manager extends Page {
pingExempt.remove(dom);
resp.getWriter().println("Updated domains exempt from pings. Current set:
");
resp.getWriter().println(HTMLEncoder.encodeHTML(pingExempt.toString()));
+ } else if (req.getParameter("makeAgent") != null) {
+ User u = User.getByEmail(req.getParameter("agentEmail"));
+ if (u == null) {
+ resp.getWriter().println("User not found, or found user is not allowed to verify.");
+ } else {
+ if (u.getVerificationPoints() < 100) {
+ addVerificationPoints(100, u);
+ }
+ if ( !u.hasPassedCATS()) {
+ passCATS(u, CATSType.AGENT_CHALLENGE);
+ }
+ if ( !Contract.hasSignedContract(u, Contract.ContractType.RA_AGENT_CONTRACT)) {
+ try {
+ new Contract(u, Contract.ContractType.RA_AGENT_CONTRACT);
+ } catch (GigiApiException e) {
+ throw new Error(e);
+ }
+ }
+ resp.getWriter().println("User has all requirements to be an RA Agent");
+ }
}
resp.getWriter().println("
Go back");
}
+ private int addVerificationPoints(int vp, User byEmail) throws Error {
+ int agentNumber = 0;
+
+ try {
+ if (vp > 100) { // only allow max 100 Verification points
+ vp = 100;
+ }
+
+ while (vp > 0) {
+ int currentVP = 10;
+ if (vp < 10) {
+ currentVP = vp;
+ }
+ Notary.verify(getAgent(agentNumber), byEmail, byEmail.getPreferredName(), byEmail.getDoB(), currentVP, "Testmanager Verify up code", validVerificationDateString(), VerificationType.FACE_TO_FACE, getRandomCountry());
+ agentNumber += 1;
+ vp -= currentVP;
+ }
+
+ } catch (GigiApiException e) {
+ throw new Error(e);
+ }
+ return agentNumber;
+ }
+
private void fetchMails(HttpServletRequest req, HttpServletResponse resp, String mail) throws IOException {
final LinkedList mails = emails.get(mail);
HashMap vars = new HashMap<>();