Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions hypha/apply/funds/templates/funds/submissions_result.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ <h3 id="submissions-heading" class="section-header">{% trans "Submissions" %}</h
{% trans "Applied" %}
</dt>
<dd class="stat-value">
{{ object_list.count }}
{{ submission_count }}
</dd>

</dl>
Expand Down Expand Up @@ -104,14 +104,13 @@ <h3 id="reviews-heading" class="section-header">{% trans "Reviews" %}</h3>
<section aria-labelledby="submission-value-total">
<h2 id="submission-value-total" class="section-header">{% trans "Totals" %}</h2>


{% include "funds/includes/table_filter_and_search.html" with search_term=search_term %}

<div class="w-full rounded-t-none border-b rounded-b-box border-x stats border-base-300">
<section class='stat' aria-labelledby="submissions-count-heading">
<span id="submissions-count-heading" class="stat-title">{% trans "Number of submissions" %}</span>
<span class="stat-value">
{{ count_values }}<sup>{% if not count_values == object_list.count %}*{% endif %}</sup>
{{ count_values }}<sup>{% if not count_values == submission_count %}*{% endif %}</sup>
</span>
</section>
<section class='stat' aria-labelledby="average-value-heading">
Expand All @@ -129,8 +128,8 @@ <h2 id="submission-value-total" class="section-header">{% trans "Totals" %}</h2>
</section>
</div>

{% if not count_values == object_list.count %}
{% with object_list.count|subtract:count_values as count_diff %}
{% if not count_values == submission_count %}
{% with submission_count|subtract:count_values as count_diff %}
<p class="mt-1 text-xs text-fg-muted" aria-live="polite">
{% blocktrans %}*{{ count_diff }} submission(s) lack requested amount fields or data and are not included.{% endblocktrans %}
</p>
Expand Down
31 changes: 11 additions & 20 deletions hypha/apply/funds/views/results.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,20 @@
class SubmissionStatsMixin:
def get_context_data(self, **kwargs):
submissions = ApplicationSubmission.objects.exclude_draft()
filter = kwargs.get("filter")
user = self.request.user

# Getting values is an expensive operation. If there's no valid filters
# then `count_values` & `total_value` will be encapsulating all submissions
# and should be used rather than recaluclating these values.
if not (filter := kwargs.get("filter")) or not is_filter_empty(filter):
submission_count = kwargs.get("count_values")
if not filter or not is_filter_empty(filter):
submission_sum = kwargs.get("total_value")
else:
submission_count = submissions.count()
submission_value = submissions.current().value()
submission_sum = format_submission_sum_value(submission_value)

submission_undetermined_count = submissions.undetermined().count()
review_my_count = submissions.reviewed_by(self.request.user).count()
review_my_count = submissions.reviewed_by(user).count()

submission_accepted = submissions.current_accepted()
submission_accepted_value = submission_accepted.value()
Expand All @@ -47,13 +48,12 @@ def get_context_data(self, **kwargs):

reviews = Review.objects.submitted()
review_count = reviews.count()
review_my_score = reviews.by_user(self.request.user).score()
review_my_score = reviews.by_user(user).score()

return super().get_context_data(
submission_undetermined_count=submission_undetermined_count,
review_my_count=review_my_count,
submission_sum=submission_sum,
submission_count=submission_count,
submission_accepted_count=submission_accepted_count,
submission_accepted_sum=submission_accepted_sum,
review_count=review_count,
Expand Down Expand Up @@ -82,24 +82,13 @@ def get_filterset_kwargs(self, filterset_class, **kwargs):
return new_kwargs

def get_queryset(self):
return (
self.filterset_class._meta.model.objects.current()
.exclude_draft()
.defer(
"search_data",
"submit_time",
"workflow_name",
"search_document",
"live_revision_id",
"draft_revision_id",
"summary",
)
)
return self.filterset_class._meta.model.objects.current().exclude_draft()

def get_context_data(self, **kwargs):
search_term = self.request.GET.get("query")

if self.object_list:
if self.object_list.exists():
submission_count = self.object_list.count()
submission_values = self.object_list.value()
count_values = submission_values.get("value__count")
total_value = format_submission_sum_value(submission_values)
Expand All @@ -111,12 +100,14 @@ def get_context_data(self, **kwargs):
count_values = 0
total_value = 0
average_value = 0
submission_count = 0

return super().get_context_data(
search_term=search_term,
filter_action=self.filter_action,
count_values=count_values,
total_value=total_value,
average_value=average_value,
submission_count=submission_count,
**kwargs,
)
Loading