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);