summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/patch/PatchDetailServiceImpl.java19
-rw-r--r--gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/ApprovalCategory.java3
2 files changed, 15 insertions, 7 deletions
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/patch/PatchDetailServiceImpl.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/patch/PatchDetailServiceImpl.java
index a96c3c9384..300d1ae0d9 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/patch/PatchDetailServiceImpl.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/patch/PatchDetailServiceImpl.java
@@ -185,19 +185,24 @@ class PatchDetailServiceImpl extends BaseServiceImplementation implements
functionStateFactory.create(change, ps_id, psas.values());
for (final PatchSetApproval ca : db.patchSetApprovals()
- .byPatchSetUser(ps_id, aid)) {
+ .byPatchSet(ps_id)) {
final ApprovalCategory.Id category = ca.getCategoryId();
if (ApprovalCategory.SUBMIT.equals(category)
|| ApprovalCategory.STAGING.equals(category)) {
continue;
}
- if (change.getStatus().isOpen()) {
- fs.normalize(approvalTypes.byId(category), ca);
- }
- if (ca.getValue() == 0) {
- continue;
+ // Only process approval for account or if approval category is sanity review
+ if (ca.getAccountId().equals(aid)
+ || ApprovalCategory.SANITY_REVIEW.equals(category)) {
+ if (change.getStatus().isOpen()) {
+ fs.normalize(approvalTypes.byId(category), ca);
+ }
+ if (ca.getValue() == 0) {
+ continue;
+ }
+ psas.put(category, ca);
}
- psas.put(category, ca);
+
}
approvals.put(id, new ApprovalSummary(psas.values()));
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/ApprovalCategory.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/ApprovalCategory.java
index ad170362df..dd6d02d935 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/ApprovalCategory.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/ApprovalCategory.java
@@ -27,6 +27,9 @@ public final class ApprovalCategory {
/** Id of the custom "Staging" category. */
public static final ApprovalCategory.Id STAGING = new ApprovalCategory.Id("STGN");
+ /** Id of the sanity review category */
+ public static final ApprovalCategory.Id SANITY_REVIEW = new ApprovalCategory.Id("SRVW");
+
public static class Id extends StringKey<Key<?>> {
private static final long serialVersionUID = 1L;