From f408765ce3fcc0ccf2476ebe392f37168661c348 Mon Sep 17 00:00:00 2001 From: Todd Dembrey <todd.dembrey@torchbox.com> Date: Thu, 14 Feb 2019 07:50:01 +0000 Subject: [PATCH] GH-866: wire up the status block to the data --- .../funds/includes/status-block.html | 52 +++---------------- opentech/apply/funds/views.py | 17 +++++- 2 files changed, 23 insertions(+), 46 deletions(-) diff --git a/opentech/apply/funds/templates/funds/includes/status-block.html b/opentech/apply/funds/templates/funds/includes/status-block.html index 96e9f20ed..9a7fb2e61 100644 --- a/opentech/apply/funds/templates/funds/includes/status-block.html +++ b/opentech/apply/funds/templates/funds/includes/status-block.html @@ -2,51 +2,13 @@ <section class="section"> <h4 class="heading heading--normal">By status</h4> <ul class="status-block"> - <li class="status-block__item"> - <h5 class="status-block__title">Received</h5> - <p class="status-block__info">30 Applications</p> - <a class="status-block__link" href="">View</a> - </li> - <li class="status-block__item"> - <h5 class="status-block__title">Internal review</h5> - <p class="status-block__info">30 Applications</p> - <a class="status-block__link" href="">View</a> - </li> - <li class="status-block__item"> - <h5 class="status-block__title">In discussion</h5> - <p class="status-block__info">30 Applications</p> - <a class="status-block__link" href="">View</a> - </li> - <li class="status-block__item"> - <h5 class="status-block__title">More information</h5> - <p class="status-block__info">30 Applications</p> - <a class="status-block__link" href="">View</a> - </li> - <li class="status-block__item"> - <h5 class="status-block__title">Invited for proposal</h5> - <p class="status-block__info">30 Applications</p> - <a class="status-block__link" href="">View</a> - </li> - <li class="status-block__item"> - <h5 class="status-block__title">External review</h5> - <p class="status-block__info">30 Applications</p> - <a class="status-block__link" href="">View</a> - </li> - <li class="status-block__item"> - <h5 class="status-block__title">Ready for determination</h5> - <p class="status-block__info">30 Applications</p> - <a class="status-block__link" href="">View</a> - </li> - <li class="status-block__item"> - <h5 class="status-block__title">Accepted</h5> - <p class="status-block__info">30 Applications</p> - <a class="status-block__link" href="">View</a> - </li> - <li class="status-block__item"> - <h5 class="status-block__title">Dismissed</h5> - <p class="status-block__info">30 Applications</p> - <a class="status-block__link" href="">View</a> - </li> + {% for status, data in status_counts.items %} + <li class="status-block__item"> + <h5 class="status-block__title">{{ data.name }}</h5> + <p class="status-block__info">{{ data.count }} Applications</p> + <a class="status-block__link" href="{% url "funds:submissions:status" status=status %}">View</a> + </li> + {% endfor %} </ul> </section> </div> diff --git a/opentech/apply/funds/views.py b/opentech/apply/funds/views.py index 44145ee6f..6d2f5c776 100644 --- a/opentech/apply/funds/views.py +++ b/opentech/apply/funds/views.py @@ -3,7 +3,7 @@ from copy import copy from django.contrib.auth.decorators import login_required from django.contrib import messages from django.core.exceptions import PermissionDenied -from django.db.models import F, Q +from django.db.models import Count, F, Q from django.http import HttpResponseRedirect, Http404 from django.shortcuts import get_object_or_404 from django.urls import reverse_lazy @@ -148,12 +148,27 @@ class SubmissionOverviewView(AllActivityContextMixin, BaseAdminSubmissionsTable) closed_query = '?round_state=closed' rounds_title = 'All Rounds and Labs' + status_counts = dict( + ApplicationSubmission.objects.current().values('status').annotate( + count=Count('status'), + ).values_list('status', 'count') + ) + + grouped_statuses = { + status: { + 'name': data['name'], + 'count': sum(status_counts.get(status, 0) for status in data['statuses']), + } + for status, data in PHASES_MAPPING.items() + } + return super().get_context_data( open_rounds=open_rounds, open_query=open_query, closed_rounds=closed_rounds, closed_query=closed_query, rounds_title=rounds_title, + status_counts=grouped_statuses, **kwargs, ) -- GitLab