Revision 53f8abed src/gr/grnet/pithos/web/client/commands/AddUserCommand.java

b/src/gr/grnet/pithos/web/client/commands/AddUserCommand.java
34 34
 */
35 35
package gr.grnet.pithos.web.client.commands;
36 36

  
37
import gr.grnet.pithos.web.client.AddUserDialog;
37 38
import gr.grnet.pithos.web.client.Pithos;
38 39
import gr.grnet.pithos.web.client.foldertree.Resource;
39 40
import gr.grnet.pithos.web.client.grouptree.Group;
......
72 73
	public void execute() {
73 74
        if (containerPanel != null)
74 75
		    containerPanel.hide();
75
        String username = Window.prompt("Enter username:", "");
76
        if (username != null && username.length() > 0) {
77
        	group.addMember(username);
78
        	String path = "?update=";
79
        	PostRequest updateGroup = new PostRequest(app.getApiPath(), app.getUsername(), path) {
80
				
81
				@Override
82
				public void onSuccess(Resource result) {
83
					app.updateGroupNode(group);
84
				}
85
				
86
				@Override
87
				public void onError(Throwable t) {
88
					GWT.log("", t);
89
					app.setError(t);
90
					if (t instanceof RestException) {
91
						app.displayError("Unable to update group:" + ((RestException) t).getHttpStatusText());
92
					}
93
					else 
94
						app.displayError("System error updating group:" + t.getMessage());
95
				}
96

  
97
				@Override
98
				protected void onUnauthorized(Response response) {
99
					app.sessionExpired();
100
				}
101
			};
102
			updateGroup.setHeader("X-Auth-Token", app.getToken());
103
			String groupMembers = "";
104
			for (String u : group.getMembers())
105
				groupMembers += (URL.encodePathSegment(u) + ",");
106
			updateGroup.setHeader("X-Account-Group-" + URL.encodePathSegment(group.getName()), groupMembers);
107
			Scheduler.get().scheduleDeferred(updateGroup);
108
        }
76
        AddUserDialog dlg = new AddUserDialog(app, group);
77
        dlg.center();
109 78
	}
110 79
}

Also available in: Unified diff