summaryrefslogtreecommitdiffstats
path: root/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupInfoScreen.java
diff options
context:
space:
mode:
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.java166
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);
}
}