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