Merge "Remove "revert_submission" action from the list of actions"
diff --git a/java/com/google/gerrit/server/restapi/change/RevertSubmission.java b/java/com/google/gerrit/server/restapi/change/RevertSubmission.java
index 7414bf4..4579bb9 100644
--- a/java/com/google/gerrit/server/restapi/change/RevertSubmission.java
+++ b/java/com/google/gerrit/server/restapi/change/RevertSubmission.java
@@ -15,7 +15,6 @@
package com.google.gerrit.server.restapi.change;
import static com.google.common.base.MoreObjects.firstNonNull;
-import static com.google.gerrit.extensions.conditions.BooleanCondition.and;
import static com.google.gerrit.server.permissions.ChangePermission.REVERT;
import static com.google.gerrit.server.permissions.RefPermission.CREATE_CHANGE;
import static com.google.gerrit.server.project.ProjectCache.illegalState;
@@ -43,7 +42,6 @@
import com.google.gerrit.extensions.restapi.Response;
import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.extensions.restapi.RestModifyView;
-import com.google.gerrit.extensions.webui.UiAction;
import com.google.gerrit.server.ChangeMessagesUtil;
import com.google.gerrit.server.ChangeUtil;
import com.google.gerrit.server.CurrentUser;
@@ -68,7 +66,6 @@
import com.google.gerrit.server.project.ContributorAgreementsChecker;
import com.google.gerrit.server.project.NoSuchProjectException;
import com.google.gerrit.server.project.ProjectCache;
-import com.google.gerrit.server.project.ProjectState;
import com.google.gerrit.server.query.change.ChangeData;
import com.google.gerrit.server.query.change.InternalChangeQuery;
import com.google.gerrit.server.restapi.change.CherryPickChange.Result;
@@ -103,8 +100,7 @@
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevWalk;
-public class RevertSubmission
- implements RestModifyView<ChangeResource, RevertInput>, UiAction<ChangeResource> {
+public class RevertSubmission implements RestModifyView<ChangeResource, RevertInput> {
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
private final Provider<InternalChangeQuery> queryProvider;
@@ -519,35 +515,6 @@
}
}
- @Override
- public Description getDescription(ChangeResource rsrc) {
- Change change = rsrc.getChange();
- boolean projectStatePermitsWrite = false;
- try {
- projectStatePermitsWrite =
- projectCache.get(rsrc.getProject()).map(ProjectState::statePermitsWrite).orElse(false);
- } catch (StorageException e) {
- logger.atSevere().withCause(e).log(
- "Failed to check if project state permits write: %s", rsrc.getProject());
- }
- return new UiAction.Description()
- .setLabel("Revert submission")
- .setTitle(
- "Revert this change and all changes that have been submitted together with this change")
- .setVisible(
- and(
- and(
- change.isMerged()
- && change.getSubmissionId() != null
- && isChangePartOfSubmission(change.getSubmissionId())
- && projectStatePermitsWrite,
- permissionBackend
- .user(rsrc.getUser())
- .ref(change.getDest())
- .testCond(CREATE_CHANGE)),
- permissionBackend.user(rsrc.getUser()).change(rsrc.getNotes()).testCond(REVERT)));
- }
-
/**
* @param submissionId the submission id of the change.
* @return True if the submission has more than one change, false otherwise.
diff --git a/javatests/com/google/gerrit/acceptance/rest/change/ActionsIT.java b/javatests/com/google/gerrit/acceptance/rest/change/ActionsIT.java
index e35f758..4b33664 100644
--- a/javatests/com/google/gerrit/acceptance/rest/change/ActionsIT.java
+++ b/javatests/com/google/gerrit/acceptance/rest/change/ActionsIT.java
@@ -62,26 +62,12 @@
}
@Test
- public void changeActionOneMergedChangeHasOnlyNormalRevert() throws Exception {
+ public void mergedChangeActionHasRevert() throws Exception {
String changeId = createChangeWithTopic().getChangeId();
gApi.changes().id(changeId).current().review(ReviewInput.approve());
gApi.changes().id(changeId).current().submit();
Map<String, ActionInfo> actions = getChangeActions(changeId);
assertThat(actions).containsKey("revert");
- assertThat(actions).doesNotContainKey("revert_submission");
- }
-
- @Test
- public void changeActionTwoMergedChangesHaveReverts() throws Exception {
- String changeId1 = createChangeWithTopic().getChangeId();
- String changeId2 = createChangeWithTopic().getChangeId();
- gApi.changes().id(changeId1).current().review(ReviewInput.approve());
- gApi.changes().id(changeId2).current().review(ReviewInput.approve());
- gApi.changes().id(changeId2).current().submit();
- Map<String, ActionInfo> actions1 = getChangeActions(changeId1);
- assertThatMap(actions1).keys().containsAtLeast("revert", "revert_submission");
- Map<String, ActionInfo> actions2 = getChangeActions(changeId2);
- assertThatMap(actions2).keys().containsAtLeast("revert", "revert_submission");
}
@Test