summaryrefslogtreecommitdiffstats
path: root/java/com/google/gerrit/server
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/google/gerrit/server')
-rw-r--r--java/com/google/gerrit/server/notedb/ChangeUpdate.java3
-rw-r--r--java/com/google/gerrit/server/permissions/ChangeControl.java2
-rw-r--r--java/com/google/gerrit/server/permissions/ChangePermission.java3
-rw-r--r--java/com/google/gerrit/server/permissions/DefaultPermissionMappings.java1
-rw-r--r--java/com/google/gerrit/server/query/change/InternalChangeQuery.java4
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(