X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Fadmin%2Fsupport%2FSupportUserDetailsForm.java;h=5738203661cb504326a19898e45f3905ed9d48d1;hb=9efe305311c7e9f78a41093d2e2e9c57bfd10c7b;hp=df7840587fe94ba6daa228b6a3d99296434ec576;hpb=d46bd087fcf633dc2bccecbce63108011da33871;p=gigi.git diff --git a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java index df784058..57382036 100644 --- a/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java +++ b/src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java @@ -1,7 +1,6 @@ package org.cacert.gigi.pages.admin.support; import java.io.PrintWriter; -import java.util.Iterator; import java.util.Map; import java.util.Set; @@ -15,9 +14,9 @@ import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.ArrayIterable; import org.cacert.gigi.output.DateSelector; +import org.cacert.gigi.output.GroupIterator; import org.cacert.gigi.output.GroupSelector; import org.cacert.gigi.output.template.Form; -import org.cacert.gigi.output.template.IterableDataset; import org.cacert.gigi.output.template.Outputable; import org.cacert.gigi.output.template.SprintfCommand; import org.cacert.gigi.output.template.Template; @@ -45,22 +44,27 @@ public class SupportUserDetailsForm extends Form { if (user.getTicket() == null) { return false; } - if ((req.getParameter("detailupdate") != null ? 1 : 0) + (req.getParameter("grant") != null ? 1 : 0) + (req.getParameter("deny") != null ? 1 : 0) + (req.getParameter("resetPass") != null ? 1 : 0) != 1) { + if ((req.getParameter("detailupdate") != null ? 1 : 0) + (req.getParameter("addGroup") != null ? 1 : 0) + (req.getParameter("removeGroup") != null ? 1 : 0) + (req.getParameter("resetPass") != null ? 1 : 0) != 1) { throw new GigiApiException("More than one action requested!"); } - if (req.getParameter("grant") != null || req.getParameter("deny") != null) { - String actionType = "granted"; + if (req.getParameter("addGroup") != null || req.getParameter("removeGroup") != null) { value.update(req); Group toMod = value.getGroup(); - if (req.getParameter("grant") != null) { + boolean grant; + if (req.getParameter("addGroup") != null) { + grant = true; user.grant(toMod); } else { - actionType = "revoked"; + grant = false; user.revoke(toMod); } String subject = "Change Group Permissions"; - Outputable message = SprintfCommand.createSimple("The group permission {0} was {1}.", toMod.getDatabaseName(), actionType); + // send notification to support + Outputable message = SprintfCommand.createSimple(grant ? "The group permission '{0}' was granted." : "The group permission '{0}' was revoked.", toMod.getName()); user.sendSupportNotification(subject, message); + // send notification to user + message = SprintfCommand.createSimple(grant ? "The group permission '{0}' was granted to your account." : "The group permission '{0}' was revoked from your account.", toMod.getName()); + user.sendSupportUserNotification(subject, message); return true; } if (req.getParameter("resetPass") != null) { @@ -82,9 +86,13 @@ public class SupportUserDetailsForm extends Form { } user.setDob(dobSelector.getDate()); - String subject = "Change Account Data"; - Outputable message = new TranslateCommand("The account data was changed."); + String subject = "Change DoB Data"; + // send notification to support + Outputable message = new TranslateCommand("The DoB was changed."); user.sendSupportNotification(subject, message); + // send notification to user + message = SprintfCommand.createSimple("The DoB in your account was changed to {0}.", dobSelector.getDate()); + user.sendSupportUserNotification(subject, message); return true; } @@ -107,20 +115,8 @@ public class SupportUserDetailsForm extends Form { vars.put("assurancepoints", user.getAssurancePoints()); vars.put("exppoints", user.getExperiencePoints()); final Set gr = user.getGroups(); - vars.put("groups", new IterableDataset() { - - Iterator i = gr.iterator(); - - @Override - public boolean next(Language l, Map vars) { - if ( !i.hasNext()) { - return false; - } - Group g = i.next(); - vars.put("group_name", g.getName()); - return true; - } - }); + vars.put("support-groups", new GroupIterator(gr.iterator(), true)); + vars.put("groups", new GroupIterator(gr.iterator(), false)); vars.put("groupSelector", value); t.output(out, l, vars); }