diff options
Diffstat (limited to 'java/com/google/gerrit/server')
5 files changed, 12 insertions, 1 deletions
diff --git a/java/com/google/gerrit/server/notedb/ChangeUpdate.java b/java/com/google/gerrit/server/notedb/ChangeUpdate.java index cc9b1934c4..8a9fba1c74 100644 --- a/java/com/google/gerrit/server/notedb/ChangeUpdate.java +++ b/java/com/google/gerrit/server/notedb/ChangeUpdate.java @@ -675,6 +675,9 @@ public class ChangeUpdate extends AbstractChangeUpdate { if (status.equals(Change.Status.ABANDONED)) { clearAttentionSet("Change was abandoned"); } + if (status.equals(Change.Status.DEFERRED)) { + clearAttentionSet("Change was deferred"); + } if (status.equals(Change.Status.MERGED)) { clearAttentionSet("Change was submitted"); } diff --git a/java/com/google/gerrit/server/permissions/ChangeControl.java b/java/com/google/gerrit/server/permissions/ChangeControl.java index 37c773ac31..0987b8d9a2 100644 --- a/java/com/google/gerrit/server/permissions/ChangeControl.java +++ b/java/com/google/gerrit/server/permissions/ChangeControl.java @@ -282,6 +282,8 @@ class ChangeControl { case REMOVE_REVIEWER: case SUBMIT_AS: return refControl.canPerform(changePermissionName(perm)); + case QT_STAGE: + return refControl.canPerform(Permission.QT_STAGE); } } catch (StorageException e) { throw new PermissionBackendException("unavailable", e); diff --git a/java/com/google/gerrit/server/permissions/ChangePermission.java b/java/com/google/gerrit/server/permissions/ChangePermission.java index 63b03787b2..0241e38679 100644 --- a/java/com/google/gerrit/server/permissions/ChangePermission.java +++ b/java/com/google/gerrit/server/permissions/ChangePermission.java @@ -57,7 +57,8 @@ public enum ChangePermission implements ChangePermissionOrLabel { REVERT, SUBMIT, SUBMIT_AS("submit on behalf of other users"), - TOGGLE_WORK_IN_PROGRESS_STATE; + TOGGLE_WORK_IN_PROGRESS_STATE, + QT_STAGE("stage change for CI"); private final String description; diff --git a/java/com/google/gerrit/server/permissions/DefaultPermissionMappings.java b/java/com/google/gerrit/server/permissions/DefaultPermissionMappings.java index 9d69d9bad6..3ab68d73fd 100644 --- a/java/com/google/gerrit/server/permissions/DefaultPermissionMappings.java +++ b/java/com/google/gerrit/server/permissions/DefaultPermissionMappings.java @@ -102,6 +102,7 @@ public class DefaultPermissionMappings { .put( ChangePermission.TOGGLE_WORK_IN_PROGRESS_STATE, Permission.TOGGLE_WORK_IN_PROGRESS_STATE) + .put(ChangePermission.QT_STAGE, Permission.QT_STAGE) .build(); private static <T extends Enum<T>> void checkMapContainsAllEnumValues( diff --git a/java/com/google/gerrit/server/query/change/InternalChangeQuery.java b/java/com/google/gerrit/server/query/change/InternalChangeQuery.java index c8e9f662a1..4d47884a90 100644 --- a/java/com/google/gerrit/server/query/change/InternalChangeQuery.java +++ b/java/com/google/gerrit/server/query/change/InternalChangeQuery.java @@ -152,6 +152,10 @@ public class InternalChangeQuery extends InternalQuery<ChangeData, InternalChang return query(and(ref(branch), project(branch.project()), status(Change.Status.NEW))); } + public List<ChangeData> byBranchStatus(BranchNameKey branch, Change.Status status) { + return query(and(ref(branch), project(branch.project()), status(status))); + } + public Iterable<ChangeData> byCommitsOnBranchNotMerged( Repository repo, BranchNameKey branch, Collection<String> hashes) throws IOException { return byCommitsOnBranchNotMerged( |