Merge "Allow including external groups in Gerrit internal groups"
diff --git a/Documentation/rest-api-groups.txt b/Documentation/rest-api-groups.txt
index 4785350..d8f021b 100644
--- a/Documentation/rest-api-groups.txt
+++ b/Documentation/rest-api-groups.txt
@@ -934,7 +934,8 @@
 [verse]
 'PUT /groups/link:#group-id[\{group-id\}]/groups/link:#group-id[\{group-id\}]'
 
-Includes a group into a Gerrit internal group.
+Includes an internal or external group into a Gerrit internal group.
+External groups must be specified using the UUID.
 
 .Request
 ----
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java
index cc87d50..7aaf04d 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java
@@ -58,6 +58,7 @@
   private Button delInclude;
 
   private FlowPanel noMembersInfo;
+  private AccountGroupSuggestOracle accountGroupSuggestOracle;
 
   public AccountGroupMembersScreen(final GroupInfo toShow, final String token) {
     super(toShow, token);
@@ -109,9 +110,10 @@
   }
 
   private void initIncludeList() {
+    accountGroupSuggestOracle = new AccountGroupSuggestOracle();
     addIncludeBox =
         new AddMemberBox(Util.C.buttonAddIncludedGroup(),
-            Util.C.defaultAccountGroupName(), new AccountGroupSuggestOracle());
+            Util.C.defaultAccountGroupName(), accountGroupSuggestOracle);
 
     addIncludeBox.addClickHandler(new ClickHandler() {
       @Override
@@ -187,13 +189,18 @@
   }
 
   void doAddNewInclude() {
-    final String groupName = addIncludeBox.getText();
+    String groupName = addIncludeBox.getText();
     if (groupName.length() == 0) {
       return;
     }
 
+    AccountGroup.UUID uuid = accountGroupSuggestOracle.getUUID(groupName);
+    if (uuid == null) {
+      return;
+    }
+
     addIncludeBox.setEnabled(false);
-    GroupApi.addIncludedGroup(getGroupUUID(), groupName,
+    GroupApi.addIncludedGroup(getGroupUUID(), uuid.get(),
         new GerritCallback<GroupInfo>() {
           public void onSuccess(final GroupInfo result) {
             addIncludeBox.setEnabled(true);