diff options
Diffstat (limited to 'gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupInfoScreen.java')
-rw-r--r-- | gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupInfoScreen.java | 166 |
1 files changed, 32 insertions, 134 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupInfoScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupInfoScreen.java index ea7c04b1a6..ea836c6e9f 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupInfoScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupInfoScreen.java @@ -15,28 +15,24 @@ package com.google.gerrit.client.admin; import com.google.gerrit.client.Gerrit; +import com.google.gerrit.client.VoidResult; +import com.google.gerrit.client.groups.GroupApi; +import com.google.gerrit.client.groups.GroupInfo; import com.google.gerrit.client.rpc.GerritCallback; import com.google.gerrit.client.ui.AccountGroupSuggestOracle; import com.google.gerrit.client.ui.OnEditEnabler; import com.google.gerrit.client.ui.RPCSuggestOracle; import com.google.gerrit.client.ui.SmallHeading; -import com.google.gerrit.common.data.GroupDetail; -import com.google.gerrit.common.data.GroupOptions; import com.google.gerrit.reviewdb.client.AccountGroup; -import com.google.gwt.event.dom.client.ChangeEvent; -import com.google.gwt.event.dom.client.ChangeHandler; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.CheckBox; -import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.SuggestBox; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwtexpui.clippy.client.CopyableLabel; import com.google.gwtexpui.globalkey.client.NpTextArea; import com.google.gwtexpui.globalkey.client.NpTextBox; -import com.google.gwtjsonrpc.common.VoidResult; public class AccountGroupInfoScreen extends AccountGroupScreen { private CopyableLabel groupUUIDLabel; @@ -51,14 +47,10 @@ public class AccountGroupInfoScreen extends AccountGroupScreen { private NpTextArea descTxt; private Button saveDesc; - private Label typeSystem; - private ListBox typeSelect; - private Button saveType; - private CheckBox visibleToAllCheckBox; private Button saveGroupOptions; - public AccountGroupInfoScreen(final GroupDetail toShow, final String token) { + public AccountGroupInfoScreen(final GroupInfo toShow, final String token) { super(toShow, token); } @@ -70,14 +62,12 @@ public class AccountGroupInfoScreen extends AccountGroupScreen { initOwner(); initDescription(); initGroupOptions(); - initGroupType(); } private void enableForm(final boolean canModify) { groupNameTxt.setEnabled(canModify); ownerTxtBox.setEnabled(canModify); descTxt.setEnabled(canModify); - typeSelect.setEnabled(canModify); visibleToAllCheckBox.setEnabled(canModify); } @@ -104,12 +94,15 @@ public class AccountGroupInfoScreen extends AccountGroupScreen { @Override public void onClick(final ClickEvent event) { final String newName = groupNameTxt.getText().trim(); - Util.GROUP_SVC.renameGroup(getGroupId(), newName, - new GerritCallback<GroupDetail>() { - public void onSuccess(final GroupDetail groupDetail) { + GroupApi.renameGroup(getGroupUUID(), newName, + new GerritCallback<com.google.gerrit.client.VoidResult>() { + public void onSuccess(final com.google.gerrit.client.VoidResult result) { saveName.setEnabled(false); - setPageTitle(Util.M.group(groupDetail.group.getName())); - display(groupDetail); + setPageTitle(Util.M.group(newName)); + groupNameTxt.setText(newName); + if (getGroupUUID().equals(getOwnerGroupUUID())) { + ownerTxt.setText(newName); + } } }); } @@ -139,9 +132,10 @@ public class AccountGroupInfoScreen extends AccountGroupScreen { public void onClick(final ClickEvent event) { final String newOwner = ownerTxt.getText().trim(); if (newOwner.length() > 0) { - Util.GROUP_SVC.changeGroupOwner(getGroupId(), newOwner, - new GerritCallback<VoidResult>() { - public void onSuccess(final VoidResult result) { + GroupApi.setGroupOwner(getGroupUUID(), newOwner, + new GerritCallback<GroupInfo>() { + public void onSuccess(final GroupInfo result) { + updateOwnerGroup(result); saveOwner.setEnabled(false); } }); @@ -170,7 +164,7 @@ public class AccountGroupInfoScreen extends AccountGroupScreen { @Override public void onClick(final ClickEvent event) { final String txt = descTxt.getText().trim(); - Util.GROUP_SVC.changeGroupDescription(getGroupId(), txt, + GroupApi.setGroupDescription(getGroupUUID(), txt, new GerritCallback<VoidResult>() { public void onSuccess(final VoidResult result) { saveDesc.setEnabled(false); @@ -200,10 +194,8 @@ public class AccountGroupInfoScreen extends AccountGroupScreen { saveGroupOptions.addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent event) { - final GroupOptions groupOptions = - new GroupOptions(visibleToAllCheckBox.getValue()); - Util.GROUP_SVC.changeGroupOptions(getGroupId(), groupOptions, - new GerritCallback<VoidResult>() { + GroupApi.setGroupOptions(getGroupUUID(), + visibleToAllCheckBox.getValue(), new GerritCallback<VoidResult>() { public void onSuccess(final VoidResult result) { saveGroupOptions.setEnabled(false); } @@ -218,114 +210,20 @@ public class AccountGroupInfoScreen extends AccountGroupScreen { enabler.listenTo(visibleToAllCheckBox); } - private void initGroupType() { - typeSystem = new Label(Util.C.groupType_SYSTEM()); - - typeSelect = new ListBox(); - typeSelect.setStyleName(Gerrit.RESOURCES.css().groupTypeSelectListBox()); - typeSelect.addItem(Util.C.groupType_INTERNAL(), AccountGroup.Type.INTERNAL.name()); - typeSelect.addChangeHandler(new ChangeHandler() { - @Override - public void onChange(ChangeEvent event) { - saveType.setEnabled(true); - } - }); - - saveType = new Button(Util.C.buttonChangeGroupType()); - saveType.setEnabled(false); - saveType.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - onSaveType(); - } - }); - - switch (Gerrit.getConfig().getAuthType()) { - case HTTP_LDAP: - case LDAP: - case LDAP_BIND: - case CLIENT_SSL_CERT_LDAP: - break; - default: - return; - } - - final VerticalPanel fp = new VerticalPanel(); - fp.setStyleName(Gerrit.RESOURCES.css().groupTypePanel()); - fp.add(new SmallHeading(Util.C.headingGroupType())); - fp.add(typeSystem); - fp.add(typeSelect); - fp.add(saveType); - add(fp); - } - - private void setType(final AccountGroup.Type newType) { - final boolean system = newType == AccountGroup.Type.SYSTEM; - - typeSystem.setVisible(system); - typeSelect.setVisible(!system); - saveType.setVisible(!system); - - if (!system) { - for (int i = 0; i < typeSelect.getItemCount(); i++) { - if (newType.name().equals(typeSelect.getValue(i))) { - typeSelect.setSelectedIndex(i); - break; - } - } - } - - saveType.setEnabled(false); - - setMembersTabVisible(newType == AccountGroup.Type.INTERNAL); - } - - private void onSaveType() { - final int idx = typeSelect.getSelectedIndex(); - final AccountGroup.Type newType = - AccountGroup.Type.valueOf(typeSelect.getValue(idx)); - - typeSelect.setEnabled(false); - saveType.setEnabled(false); - - Util.GROUP_SVC.changeGroupType(getGroupId(), newType, - new GerritCallback<VoidResult>() { - @Override - public void onSuccess(VoidResult result) { - typeSelect.setEnabled(true); - setType(newType); - } - - @Override - public void onFailure(Throwable caught) { - typeSelect.setEnabled(true); - saveType.setEnabled(true); - super.onFailure(caught); - } - }); - } - @Override - protected void display(final GroupDetail groupDetail) { - final AccountGroup group = groupDetail.group; + protected void display(final GroupInfo group, final boolean canModify) { groupUUIDLabel.setText(group.getGroupUUID().get()); - groupNameTxt.setText(group.getName()); - if (groupDetail.ownerGroup != null) { - ownerTxt.setText(groupDetail.ownerGroup.getName()); - } else { - ownerTxt.setText(Util.M.deletedReference(group.getOwnerGroupUUID().get())); - } - descTxt.setText(group.getDescription()); - - visibleToAllCheckBox.setValue(group.isVisibleToAll()); - - setType(group.getType()); - - enableForm(groupDetail.canModify); - saveName.setVisible(groupDetail.canModify); - saveOwner.setVisible(groupDetail.canModify); - saveDesc.setVisible(groupDetail.canModify); - saveGroupOptions.setVisible(groupDetail.canModify); - saveType.setVisible(groupDetail.canModify); + groupNameTxt.setText(group.name()); + ownerTxt.setText(group.owner() != null?group.owner():Util.M.deletedReference(group.getOwnerUUID().get())); + descTxt.setText(group.description()); + visibleToAllCheckBox.setValue(group.options().isVisibleToAll()); + setMembersTabVisible(AccountGroup.isInternalGroup(group.getGroupUUID()) + && !AccountGroup.isSystemGroup(group.getGroupUUID())); + + enableForm(canModify); + saveName.setVisible(canModify); + saveOwner.setVisible(canModify); + saveDesc.setVisible(canModify); + saveGroupOptions.setVisible(canModify); } } |