Revision 39a92f5c

b/src/gr/grnet/pithos/web/client/Pithos.java
590 590
        Window.Location.assign(otherProperties.get("loginUrl") + Window.Location.getHref());
591 591
	}
592 592

  
593
	protected void fetchAccount(final Command callback) {
593
	public void fetchAccount(final Command callback) {
594 594
        String path = "?format=json";
595 595

  
596 596
        GetRequest<AccountResource> getAccount = new GetRequest<AccountResource>(AccountResource.class, getApiPath(), username, path) {
b/src/gr/grnet/pithos/web/client/commands/RemoveUserCommand.java
72 72
	public void execute() {
73 73
        if (containerPanel != null)
74 74
		    containerPanel.hide();
75
    	final Group group = user.getGroup();
75
    	final String groupName = user.getGroup();
76
    	final Group group = app.getAccount().getGroup(groupName);
77
    	if (group == null)
78
    		return;
76 79
    	group.removeMember(user.getName());
77 80
    	String path = "?update=";
78 81
    	PostRequest updateGroup = new PostRequest(app.getApiPath(), app.getUsername(), path) {
79 82
			
80 83
			@Override
81 84
			public void onSuccess(Resource result) {
82
				if (!group.getMembers().isEmpty())
83
					app.updateGroupNode(group);
84
				else {
85
					app.getAccount().getGroups().remove(group);
86
					app.updateGroupNode(null);
87
				}
85
				app.fetchAccount(new Command() {
86
					
87
					@Override
88
					public void execute() {
89
						Group updatedGroup2 = app.getAccount().getGroup(groupName);
90
						if (updatedGroup2 != null)
91
							app.updateGroupNode(updatedGroup2);
92
						else {
93
							app.updateGroupNode(null);
94
						}
95
					}
96
				});
88 97
			}
89 98
			
90 99
			@Override
b/src/gr/grnet/pithos/web/client/foldertree/AccountResource.java
272 272
				return f;
273 273
		return null;
274 274
	}
275

  
276
	public Group getGroup(String groupName) {
277
		for (Group g : groups)
278
			if (g.getName().equalsIgnoreCase(groupName))
279
				return g;
280
		return null;
281
	}
275 282
}
b/src/gr/grnet/pithos/web/client/grouptree/GroupTreeViewModel.java
175 175
		final ListDataProvider<User> dataProvider = userDataProviderMap.get(g);
176 176
		dataProvider.getList().clear();
177 177
		for (String u : g.getMembers())
178
			dataProvider.getList().add(new User(u, g));
178
			dataProvider.getList().add(new User(u, g.getName()));
179 179
    	return new DefaultNodeInfo<User>(dataProvider, userCell, userSelectionModel, null);
180 180
    }
181 181

  
......
202 202
			final ListDataProvider<User> dataProvider = userDataProviderMap.get(group);
203 203
			dataProvider.getList().clear();
204 204
			for (String u : group.getMembers())
205
				dataProvider.getList().add(new User(u, group));
205
				dataProvider.getList().add(new User(u, group.getName()));
206 206
		}
207 207
	}
208 208

  
b/src/gr/grnet/pithos/web/client/grouptree/User.java
39 39
public class User {
40 40
    private String name;
41 41
    
42
    private Group group;
42
    private String group;
43 43

  
44
    public User(String _name, Group _group) {
44
    public User(String _name, String _group) {
45 45
        name = _name;
46 46
        group = _group;
47 47
    }
......
50 50
        return name;
51 51
    }
52 52

  
53
	public Group getGroup() {
53
	public String getGroup() {
54 54
		return group;
55 55
	}
56 56
}

Also available in: Unified diff