diff --git a/opentech/apply/funds/templates/funds/includes/status-block.html b/opentech/apply/funds/templates/funds/includes/status-block.html index 96e9f20edf4cf7a3f0e16bff21adba427acffb3c..9a7fb2e616e96120c7aca168fb182ce7684b63a6 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 44145ee6f97929c79886b7a4f27bdb12ee400ba3..6d2f5c77679daba5adb155a9088887d110e3e540 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, )