From 2f99cff160e605d2e84b2c73ca43601fef9cbb60 Mon Sep 17 00:00:00 2001
From: Todd Dembrey <todd.dembrey@torchbox.com>
Date: Tue, 20 Mar 2018 10:01:40 +0000
Subject: [PATCH] exclude doubling up reviews when in both staff and reviewers

---
 opentech/apply/funds/models.py | 8 +++++++-
 opentech/apply/review/views.py | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/opentech/apply/funds/models.py b/opentech/apply/funds/models.py
index c28e3bc96..d2215cb89 100644
--- a/opentech/apply/funds/models.py
+++ b/opentech/apply/funds/models.py
@@ -648,11 +648,17 @@ class ApplicationSubmission(WorkflowHelpers, BaseStreamForm, AbstractFormSubmiss
             submission_in_db.next = self
             submission_in_db.save()
 
+    @property
     def missing_staff_reviews(self):
         return self.reviewers.staff().exclude(id__in=self.reviews.values('author'))
 
+    @property
     def missing_reviewer_reviews(self):
-        return self.reviewers.reviewers().exclude(id__in=self.reviews.values('author'))
+        return self.reviewers.reviewers().exclude(
+            id__in=self.reviews.values('author')
+        ).exclude(
+            id__in=self.missing_staff_reviews,
+        )
 
     def data_and_fields(self):
         for stream_value in self.form_fields:
diff --git a/opentech/apply/review/views.py b/opentech/apply/review/views.py
index c124c230d..d0cacced6 100644
--- a/opentech/apply/review/views.py
+++ b/opentech/apply/review/views.py
@@ -10,7 +10,7 @@ from .models import Review
 class ReviewContextMixin:
     def get_context_data(self, **kwargs):
         staff_reviews = self.object.reviews.by_staff()
-        reviewer_reviews = self.object.reviews.by_reviewers()
+        reviewer_reviews = self.object.reviews.by_reviewers().exclude(id__in=staff_reviews)
         return super().get_context_data(
             staff_reviews=staff_reviews,
             reviewer_reviews=reviewer_reviews,
-- 
GitLab