diff --git a/scipost_django/series/templates/series/collection_detail.html b/scipost_django/series/templates/series/collection_detail.html index 12202b1aa4959534269dbfe921e9f845fd7cc3d1..18133d524ff0f581b898f8fe64d09245f8d0cbb6 100644 --- a/scipost_django/series/templates/series/collection_detail.html +++ b/scipost_django/series/templates/series/collection_detail.html @@ -105,34 +105,29 @@ {% endif %} - {% if collection.submissions.under_consideration|length > 0 or collection.submissions.accepted|length > 0 %} + {% if collection_submissions|length > 0 %} <div class="row"> <div class="col-12"> <h3 class="highlight">Submissions to this Collection</h3> - <ul> - - {% for submission in collection.submissions.accepted %} - <li> - <strong class="text-success">accepted:</strong> - <a href="{{ submission.get_absolute_url }}" target="_blank">{{ submission }}</a> - </li> - {% endfor %} - - {% for submission in collection.submissions.revision_requested %} - <li> - <strong class="text-primary">awaiting resubmission:</strong> - <a href="{{ submission.get_absolute_url }}" target="_blank">{{ submission }}</a> - </li> - {% endfor %} - - {% for submission in collection.submissions.in_refereeing %} - <li> - <strong class="text-warning">under refereeing:</strong> - <a href="{{ submission.get_absolute_url }}" target="_blank">{{ submission }}</a> - </li> - {% endfor %} - - </ul> + + {% regroup collection_submissions|dictsort:'status' by status as submissions_by_status %} + + {% for submission_group in submissions_by_status %} + <section class="px-2" + aria-labelledby="submission-{{ submission_group.grouper }}-header"> + <h4 id="submission-{{ submission_group.grouper }}-header">{{ submission_group.list.0.get_status_display }}</h4> + <ul> + + {% for submission in submission_group.list %} + <li> + <a href="{{ submission.get_absolute_url }}" target="_blank">{{ submission }}</a> + </li> + {% endfor %} + + </ul> + </section> + {% endfor %} + </div> </div> {% endif %} diff --git a/scipost_django/series/views.py b/scipost_django/series/views.py index f98e907bbc55c03ce003a5359bd1055c337bf047..2bf1cd6a8cd4563927cb9d62c64f42ae589915ff 100644 --- a/scipost_django/series/views.py +++ b/scipost_django/series/views.py @@ -15,6 +15,7 @@ from profiles.models import Profile from profiles.forms import ProfileSelectForm, ProfileDynSelForm from colleges.forms import FellowshipDynSelForm from colleges.models import Fellowship +from submissions.models.submission import Submission from .models import Series, Collection, CollectionPublicationsTable @@ -54,6 +55,19 @@ class CollectionDetailView(DetailView): def get_context_data(self, *args, **kwargs): context = super().get_context_data(*args, **kwargs) context["expected_author_form"] = ProfileSelectForm() + context["collection_submissions"] = self.object.submissions.filter( + status__in=[ + Submission.REFEREEING_IN_PREPARATION, + Submission.IN_REFEREEING, + Submission.REFEREEING_CLOSED, + Submission.AWAITING_RESUBMISSION, + Submission.VOTING_IN_PREPARATION, + Submission.IN_VOTING, + Submission.ACCEPTED_IN_TARGET, + Submission.ACCEPTED_IN_ALTERNATIVE_AWAITING_PUBOFFER_ACCEPTANCE, + Submission.ACCEPTED_IN_ALTERNATIVE, + ] + ) return context