Check existence of a ReviewerInfo field before use.
Some fields like 'approvals' in a ReviewerInfo could be missing
for special users that do not vote.
Change-Id: Ia7b4e39c5e3e2ed053c23781db8a6c9c6f90cb68
diff --git a/src/main/resources/static/find-owners.js b/src/main/resources/static/find-owners.js
index c38471f..94d303f 100644
--- a/src/main/resources/static/find-owners.js
+++ b/src/main/resources/static/find-owners.js
@@ -66,10 +66,15 @@
reviewerId = {};
reviewerVote = {};
reviewerList.forEach(function(reviewer) {
- reviewerId[reviewer.email] = reviewer._account_id;
- reviewerVote[reviewer.email] =
- parseInt(reviewer.approvals['Code-Review']);
- // The 'Code-Review' values could be " 0", "+1", "-1", "+2", etc.
+ if ('email' in reviewer && '_account_id' in reviewer) {
+ reviewerId[reviewer.email] = reviewer._account_id;
+ reviewerVote[reviewer.email] = 0;
+ if ('approvals' in reviewer && 'Code-Review' in reviewer.approvals) {
+ reviewerVote[reviewer.email] =
+ parseInt(reviewer.approvals['Code-Review']);
+ // The 'Code-Review' values could be "-2", "-1", " 0", "+1", "+2"
+ }
+ }
});
}
function checkAddRemoveLists() {