Revert "Work in progress. Do not rely on this commit"
[pithos-web-client] / src / gr / grnet / pithos / web / client / AddUserDialog.java
index 9dcffd1..407dfe7 100644 (file)
@@ -45,10 +45,7 @@ import com.google.gwt.http.client.Response;
 import com.google.gwt.http.client.URL;\r
 import com.google.gwt.user.client.Event.NativePreviewEvent;\r
 import com.google.gwt.user.client.ui.*;\r
-import gr.grnet.pithos.web.client.catalog.UpdateUserCatalogs;\r
-import gr.grnet.pithos.web.client.catalog.UserCatalogs;\r
 import gr.grnet.pithos.web.client.grouptree.Group;\r
-import gr.grnet.pithos.web.client.grouptree.User;\r
 import gr.grnet.pithos.web.client.rest.PostRequest;\r
 import gr.grnet.pithos.web.client.rest.RestException;\r
 \r
@@ -63,7 +60,7 @@ public class AddUserDialog extends DialogBox {
     /**\r
      * The widget that holds the folderName of the folder.\r
      */\r
-    TextBox userDisplayNameTextBox = new TextBox();\r
+    TextBox userName = new TextBox();\r
 \r
     final VerticalPanel inner;\r
 \r
@@ -104,7 +101,7 @@ public class AddUserDialog extends DialogBox {
         FlexTable generalTable = new FlexTable();\r
         generalTable.setText(0, 0, "Username");\r
 \r
-        generalTable.setWidget(0, 1, userDisplayNameTextBox);\r
+        generalTable.setWidget(0, 1, userName);\r
 \r
         generalTable.getFlexCellFormatter().setStyleName(0, 0, "props-labels");\r
         generalTable.getFlexCellFormatter().setStyleName(0, 1, "props-values");\r
@@ -134,7 +131,7 @@ public class AddUserDialog extends DialogBox {
     @Override\r
     public void center() {\r
         super.center();\r
-        userDisplayNameTextBox.setFocus(true);\r
+        userName.setFocus(true);\r
     }\r
 \r
     @Override\r
@@ -172,43 +169,19 @@ public class AddUserDialog extends DialogBox {
      * Generate an RPC request to create a new folder.\r
      */\r
     void addUser() {\r
-        final String userDisplayName = userDisplayNameTextBox.getText().trim();\r
-        if(userDisplayName.length() == 0) {\r
+        String name = userName.getText().trim();\r
+        if(name.length() == 0) {\r
             return;\r
         }\r
-        if(!Const.EMAIL_REGEX.test(userDisplayName)) {\r
+        if(!Const.EMAIL_REGEX.test(name)) {\r
             app.displayWarning("Username must be a valid email address");\r
             return;\r
         }\r
 \r
-        // Now get the userID\r
-        final String userID = app.getUserIDForDisplayName(userDisplayName);\r
-        if(userID != null) {\r
-            doAddUser(userID, userDisplayName);\r
-        }\r
-        else {\r
-            // Must call server to obtain userID\r
-            new UpdateUserCatalogs(app, null, Helpers.toList(userDisplayName)) {\r
-                @Override\r
-                public void onSuccess(UserCatalogs requestedUserCatalogs, UserCatalogs updatedUserCatalogs) {\r
-                    final String userID = updatedUserCatalogs.getUserID(userDisplayName);\r
-                    if(userID != null) {\r
-                        doAddUser(userID, userDisplayName);\r
-                    }\r
-                    else {\r
-                        app.displayError("Unknown user " + userDisplayName);\r
-                    }\r
-                }\r
-            }.scheduleDeferred();\r
-        }\r
-    }\r
+        group.addMember(name);\r
+        String path = "?update=";\r
+        PostRequest updateGroup = new PostRequest(app.getApiPath(), app.getUserID(), path) {\r
 \r
-    private void doAddUser(String userID, String userDisplayName) {\r
-        final User newUser = new User(userID, userDisplayName, group.getName());\r
-        app.LOG("doAddUser() ", newUser);\r
-        group.addUser(newUser);\r
-        final String path = "?update=";\r
-        PostRequest updateGroup = new PostRequest(app, app.getApiPath(), app.getUserID(), path) {\r
             @Override\r
             public void onSuccess(Resource result) {\r
                 app.updateGroupNode(group);\r
@@ -232,7 +205,10 @@ public class AddUserDialog extends DialogBox {
             }\r
         };\r
         updateGroup.setHeader(Const.X_AUTH_TOKEN, app.getUserToken());\r
-        final String groupMembers = group.encodeUserIDsForXAccountGroup();\r
+        String groupMembers = "";\r
+        for(String u : group.getMembers()) {\r
+            groupMembers += (URL.encodePathSegment(u) + ",");\r
+        }\r
         updateGroup.setHeader(Const.X_ACCOUNT_GROUP_ + URL.encodePathSegment(group.getName()), groupMembers);\r
         Scheduler.get().scheduleDeferred(updateGroup);\r
     }\r