]> WPIA git - gigi.git/blob - src/club/wpia/gigi/output/VerificationsDisplay.java
upd: mark unverified names of agents in points overview
[gigi.git] / src / club / wpia / gigi / output / VerificationsDisplay.java
1 package club.wpia.gigi.output;
2
3 import java.io.PrintWriter;
4 import java.util.Map;
5
6 import club.wpia.gigi.dbObjects.Name;
7 import club.wpia.gigi.dbObjects.Verification;
8 import club.wpia.gigi.localisation.Language;
9 import club.wpia.gigi.output.template.IterableDataset;
10 import club.wpia.gigi.output.template.Outputable;
11 import club.wpia.gigi.output.template.Template;
12
13 public class VerificationsDisplay implements Outputable {
14
15     private static final Template template = new Template(VerificationsDisplay.class.getResource("VerificationsDisplay.templ"));
16
17     private boolean agent;
18
19     public String verificationArray;
20
21     private boolean support;
22
23     public VerificationsDisplay(String verificationArray, boolean agent, boolean support) {
24         this.verificationArray = verificationArray;
25         this.agent = agent;
26         this.support = support;
27     }
28
29     @Override
30     public void output(PrintWriter out, Language l, Map<String, Object> vars) {
31         final Verification[] verifications = (Verification[]) vars.get(verificationArray);
32         if (agent) {
33             vars.put("verb", l.getTranslation("To (User Id)"));
34             vars.put("info", "");
35         } else {
36             vars.put("verb", l.getTranslation("From"));
37             vars.put("myName", "yes");
38             vars.put("info", l.getTranslation("Coloured rows show expired nucleus bonus verifications which are not counted to the total of verification points."));
39         }
40
41         IterableDataset verificationsGroup = new IterableDataset() {
42
43             private int i = 0;
44
45             @Override
46             public boolean next(Language l, Map<String, Object> vars) {
47                 if (i >= verifications.length) {
48                     return false;
49                 } else {
50                     Verification verification = verifications[i];
51                     vars.put("support", support);
52                     vars.put("id", verification.getId());
53                     vars.put("method", verification.getMethod());
54                     Name to = verification.getTo();
55                     if (agent) {
56                         vars.put("linkId", to == null ? "" : to.getOwner().getId());
57                         vars.put("verbVal", to == null ? l.getTranslation("applicant's name removed") : to.getOwner().getId());
58                         vars.put("myName", to == null ? l.getTranslation("applicant's name removed") : to);
59                         vars.put("agentUnverified", false);
60                     } else {
61                         vars.put("linkId", verification.getFrom().getId());
62                         Name name = verification.getFrom().getPreferredName();
63                         vars.put("verbVal", name);
64                         vars.put("myName", to == null ? l.getTranslation("own name removed") : to);
65                         vars.put("agentUnverified", name.getVerificationPoints() <= 0);
66                     }
67                     vars.put("date", verification.getDate());
68                     vars.put("location", verification.getLocation() + " (" + (verification.getCountry() == null ? l.getTranslation("not given") : verification.getCountry().getName()) + ")");
69                     vars.put("points", verification.getPoints());
70                     vars.put("expired", verification.isExpired());
71                     i++;
72                     return true;
73                 }
74             }
75         };
76         vars.put("verifications", verificationsGroup);
77         template.output(out, l, vars);
78     }
79
80 }