Window.Location.assign(otherProperties.get("loginUrl") + Window.Location.getHref());
}
- protected void fetchAccount(final Command callback) {
+ public void fetchAccount(final Command callback) {
String path = "?format=json";
GetRequest<AccountResource> getAccount = new GetRequest<AccountResource>(AccountResource.class, getApiPath(), username, path) {
public void execute() {
if (containerPanel != null)
containerPanel.hide();
- final Group group = user.getGroup();
+ final String groupName = user.getGroup();
+ final Group group = app.getAccount().getGroup(groupName);
+ if (group == null)
+ return;
group.removeMember(user.getName());
String path = "?update=";
PostRequest updateGroup = new PostRequest(app.getApiPath(), app.getUsername(), path) {
@Override
public void onSuccess(Resource result) {
- if (!group.getMembers().isEmpty())
- app.updateGroupNode(group);
- else {
- app.getAccount().getGroups().remove(group);
- app.updateGroupNode(null);
- }
+ app.fetchAccount(new Command() {
+
+ @Override
+ public void execute() {
+ Group updatedGroup2 = app.getAccount().getGroup(groupName);
+ if (updatedGroup2 != null)
+ app.updateGroupNode(updatedGroup2);
+ else {
+ app.updateGroupNode(null);
+ }
+ }
+ });
}
@Override
return f;
return null;
}
+
+ public Group getGroup(String groupName) {
+ for (Group g : groups)
+ if (g.getName().equalsIgnoreCase(groupName))
+ return g;
+ return null;
+ }
}
final ListDataProvider<User> dataProvider = userDataProviderMap.get(g);
dataProvider.getList().clear();
for (String u : g.getMembers())
- dataProvider.getList().add(new User(u, g));
+ dataProvider.getList().add(new User(u, g.getName()));
return new DefaultNodeInfo<User>(dataProvider, userCell, userSelectionModel, null);
}
final ListDataProvider<User> dataProvider = userDataProviderMap.get(group);
dataProvider.getList().clear();
for (String u : group.getMembers())
- dataProvider.getList().add(new User(u, group));
+ dataProvider.getList().add(new User(u, group.getName()));
}
}
public class User {
private String name;
- private Group group;
+ private String group;
- public User(String _name, Group _group) {
+ public User(String _name, String _group) {
name = _name;
group = _group;
}
return name;
}
- public Group getGroup() {
+ public String getGroup() {
return group;
}
}