Merge "Allow including external groups in Gerrit internal groups"

This commit is contained in:
Shawn Pearce
2013-06-14 19:58:45 +00:00
committed by Gerrit Code Review
2 changed files with 12 additions and 4 deletions

View File

@@ -934,7 +934,8 @@ Include Group
[verse] [verse]
'PUT /groups/link:#group-id[\{group-id\}]/groups/link:#group-id[\{group-id\}]' '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 .Request
---- ----

View File

@@ -58,6 +58,7 @@ public class AccountGroupMembersScreen extends AccountGroupScreen {
private Button delInclude; private Button delInclude;
private FlowPanel noMembersInfo; private FlowPanel noMembersInfo;
private AccountGroupSuggestOracle accountGroupSuggestOracle;
public AccountGroupMembersScreen(final GroupInfo toShow, final String token) { public AccountGroupMembersScreen(final GroupInfo toShow, final String token) {
super(toShow, token); super(toShow, token);
@@ -109,9 +110,10 @@ public class AccountGroupMembersScreen extends AccountGroupScreen {
} }
private void initIncludeList() { private void initIncludeList() {
accountGroupSuggestOracle = new AccountGroupSuggestOracle();
addIncludeBox = addIncludeBox =
new AddMemberBox(Util.C.buttonAddIncludedGroup(), new AddMemberBox(Util.C.buttonAddIncludedGroup(),
Util.C.defaultAccountGroupName(), new AccountGroupSuggestOracle()); Util.C.defaultAccountGroupName(), accountGroupSuggestOracle);
addIncludeBox.addClickHandler(new ClickHandler() { addIncludeBox.addClickHandler(new ClickHandler() {
@Override @Override
@@ -187,13 +189,18 @@ public class AccountGroupMembersScreen extends AccountGroupScreen {
} }
void doAddNewInclude() { void doAddNewInclude() {
final String groupName = addIncludeBox.getText(); String groupName = addIncludeBox.getText();
if (groupName.length() == 0) { if (groupName.length() == 0) {
return; return;
} }
AccountGroup.UUID uuid = accountGroupSuggestOracle.getUUID(groupName);
if (uuid == null) {
return;
}
addIncludeBox.setEnabled(false); addIncludeBox.setEnabled(false);
GroupApi.addIncludedGroup(getGroupUUID(), groupName, GroupApi.addIncludedGroup(getGroupUUID(), uuid.get(),
new GerritCallback<GroupInfo>() { new GerritCallback<GroupInfo>() {
public void onSuccess(final GroupInfo result) { public void onSuccess(final GroupInfo result) {
addIncludeBox.setEnabled(true); addIncludeBox.setEnabled(true);