+++ /dev/null
-package club.wpia.gigi.output;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import club.wpia.gigi.dbObjects.Group;
-import club.wpia.gigi.localisation.Language;
-import club.wpia.gigi.output.template.IterableDataset;
-
-public class GroupIterator implements IterableDataset {
-
- private final boolean asSupport;
-
- private final Iterator<Group> i;
-
- public GroupIterator(Iterator<Group> i, boolean asSupport) {
- this.asSupport = asSupport;
- this.i = i;
- }
-
- private int j = 0;
-
- @Override
- public boolean next(Language l, Map<String, Object> vars) {
- while (i.hasNext()) {
- Group g = i.next();
- if (g.isManagedBySupport() == asSupport) {
- vars.put("group_concat", (j > 0 ? ", " : ""));
- vars.put("group", g.getName());
- j++;
- return true;
- }
- }
-
- return false;
- }
-}
--- /dev/null
+package club.wpia.gigi.output;
+
+import java.io.PrintWriter;
+import java.util.Map;
+
+import club.wpia.gigi.dbObjects.Group;
+import club.wpia.gigi.localisation.Language;
+import club.wpia.gigi.output.template.Outputable;
+
+public class GroupList implements Outputable {
+
+ private final Iterable<Group> groups;
+
+ private final boolean supportGroups;
+
+ public GroupList(Iterable<Group> groups, boolean supportGroups) {
+ this.groups = groups;
+ this.supportGroups = supportGroups;
+ }
+
+ @Override
+ public void output(PrintWriter out, Language l, Map<String, Object> vars) {
+ boolean fst = true;
+ for (Group g : groups) {
+ if (g.isManagedBySupport() != supportGroups) {
+ continue;
+ }
+ if ( !fst) {
+ out.write(", ");
+ } else {
+ fst = false;
+ }
+ g.getName().output(out, l, vars);
+ }
+ if (fst) {
+ out.println(l.getTranslation("none"));
+ }
+ }
+
+}
import club.wpia.gigi.dbObjects.Organisation;
import club.wpia.gigi.dbObjects.User;
import club.wpia.gigi.localisation.Language;
-import club.wpia.gigi.output.GroupIterator;
+import club.wpia.gigi.output.GroupList;
import club.wpia.gigi.output.template.IterableDataset;
import club.wpia.gigi.output.template.Template;
User u = LoginPage.getUser(req);
vars.put("username", u.getPreferredName());
final Set<Group> gr = u.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("ra-agent", u.canVerify());
vars.put("vp", u.getVerificationPoints());
vars.put("xp", u.getExperiencePoints());
<h4><?=_Subscriber information?></h4>
<div class="well">
<? if($ra-agent) { ?><p><?=_You are an RA Agent.?></p><? } ?>
-<p><?=_Assigned support permissions?>: <? foreach($support-groups) { ?><?=$group_concat?><?=$group?><? } ?></p>
-<p><?=_Assigned user-managed permissions?>: <? foreach($groups) { ?><?=$group_concat?><?=$group?><? } ?> (<?=_!'<a href="/account/details">'more!'</a>'?>)</p>
+<p><?=_Assigned support permissions?>: <?=$support-groups?></p>
+<p><?=_Assigned user-managed permissions?>: <?=$groups?> (<?=_!'<a href="/account/details">'more!'</a>'?>)</p>
<p><?=_${vp} Verification Points and ${xp} Experience Points.?> (<?=_!'<a href="/wot/points">'more!'</a>'?>)</p>
</div>
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;
}
final Set<Group> 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);
}
<div class="panel-heading"><?=_Permissions / Group Assignments?></div>
<div class="panel-body">
<h4><?=_Support Managed Permissions?>:</h4>
- <? foreach($support-groups) { ?><?=$group_concat?><?=$group?><? } ?>
+ <?=$support-groups?>
<h4><?=_User Managed Permissions?>:</h4>
- <? foreach($groups) { ?><?=$group_concat?><?=$group?><? } ?>
+ <?=$groups?>
<h4><?=_Set User Managed Permissions?>:</h4>
<?=$groupSelector?> <button class="btn btn-info" name="action" value="addGroup"><?=_Add Group?></button> <button class="btn btn-info" name="action" value="removeGroup"><?=_Remove Group?></button>
</div>
import club.wpia.gigi.localisation.Language;
import club.wpia.gigi.output.ArrayIterable;
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.template.Form;
import club.wpia.gigi.output.template.Template;
vars.put("verificationPoints", user.getVerificationPoints());
vars.put("exppoints", user.getExperiencePoints());
final Set<Group> gr = user.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", value);
t.output(out, l, vars);
}
<tr>
<td><?=_Support Managed Groups?>:</td>
- <td><p><? foreach($support-groups) { ?><?=$group_concat?><?=$group?><? } ?></p>
+ <td><p><?=$support-groups?></p>
<p><?=$groupSelector?><input class="btn btn-info" type='submit' value='<?=_Add Group?>' name='addGroup'> <input class="btn btn-info" type='submit' value='<?=_Remove Group?>' name='removeGroup'></p>
</td>
</tr>
<tr>
<td><?=_User Managed Groups?>:</td>
- <td><p><? foreach($groups) { ?><?=$group_concat?><?=$group?><? } ?></p>
+ <td><p><?=$groups?></p>
</td>
</tr>