From a8f04c134073198feae1d981115a32c8ff3fa2d6 Mon Sep 17 00:00:00 2001 From: Erin Mullaney <erin.mullaney@torchbox.com> Date: Wed, 13 Feb 2019 08:02:08 -0500 Subject: [PATCH] GH-959 add role assigned to Your Reviews block for staff (admins) --- opentech/apply/dashboard/views.py | 3 ++- opentech/apply/funds/models/submissions.py | 3 +++ opentech/apply/funds/tables.py | 8 ++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/opentech/apply/dashboard/views.py b/opentech/apply/dashboard/views.py index cd83dc682..99bce4e6c 100644 --- a/opentech/apply/dashboard/views.py +++ b/opentech/apply/dashboard/views.py @@ -11,6 +11,7 @@ from opentech.apply.funds.tables import ( SubmissionReviewerFilterAndSearch, SubmissionsTable, SummarySubmissionsTable, + SummarySubmissionsTableWithRole, ) from opentech.apply.utils.views import ViewDispatcher @@ -57,7 +58,7 @@ class AdminDashboardView(TemplateView): def get_my_reviews(self, user, qs): my_review_qs = qs.in_review_for(user).order_by('-submit_time') - my_review_table = SummarySubmissionsTable(my_review_qs[:5], prefix='my-review-') + my_review_table = SummarySubmissionsTableWithRole(my_review_qs[:5], prefix='my-review-') display_more = (my_review_qs.count() > 5) return my_review_qs, my_review_table, display_more diff --git a/opentech/apply/funds/models/submissions.py b/opentech/apply/funds/models/submissions.py index a7cec3854..898b0e17b 100644 --- a/opentech/apply/funds/models/submissions.py +++ b/opentech/apply/funds/models/submissions.py @@ -101,6 +101,8 @@ class ApplicationSubmissionQueryset(JSONOrderable): activities = self.model.activities.field.model latest_activity = activities.objects.filter(submission=OuterRef('id')).select_related('user') comments = activities.comments.filter(submission=OuterRef('id')).visible_to(user) + roles_for_review = self.model.assigned.field.model.objects.with_roles().filter( + submission=OuterRef('id'), reviewer=user) reviews = self.model.reviews.field.model.objects.filter(submission=OuterRef('id')) @@ -130,6 +132,7 @@ class ApplicationSubmissionQueryset(JSONOrderable): reviews.submitted().values('submission').annotate(calc_recommendation=Sum('recommendation') / Count('recommendation')).values('calc_recommendation'), output_field=IntegerField(), ), + role_assigned=Subquery(roles_for_review[:1].values('role__name')), ).prefetch_related( 'reviews__author' ).select_related( diff --git a/opentech/apply/funds/tables.py b/opentech/apply/funds/tables.py index 620040584..a48ed7dfb 100644 --- a/opentech/apply/funds/tables.py +++ b/opentech/apply/funds/tables.py @@ -115,6 +115,14 @@ class SummarySubmissionsTable(BaseAdminSubmissionsTable): orderable = False +class SummarySubmissionsTableWithRole(BaseAdminSubmissionsTable): + """ Adds Role Assigned to the 'Waiting for My Review' table """ + role_assigned = tables.Column(verbose_name="Assigned Role") + + class Meta(BaseAdminSubmissionsTable.Meta): + orderable = False + + def get_used_rounds(request): return Round.objects.filter(submissions__isnull=False).distinct() -- GitLab