diff --git a/SciPost_v1/settings/base.py b/SciPost_v1/settings/base.py index 05df150ab0683d6a9aa9999c7ec7d6f716d1fff5..d4d3509138ded063f4c1dcf5b06de07e6f5e449c 100644 --- a/SciPost_v1/settings/base.py +++ b/SciPost_v1/settings/base.py @@ -225,7 +225,7 @@ TIME_ZONE = 'CET' USE_I18N = True USE_L10N = False -DATE_FORMAT = 'Y-m-d' +SHORT_DATE_FORMAT = DATE_FORMAT = 'Y-m-d' DATETIME_FORMAT = 'Y-m-d H:i' USE_TZ = True diff --git a/comments/templates/partials/comments/comments_list.html b/comments/templates/partials/comments/comments_list.html new file mode 100644 index 0000000000000000000000000000000000000000..169158b74a83ba6cc6039057fbc73bc444fcaa6f --- /dev/null +++ b/comments/templates/partials/comments/comments_list.html @@ -0,0 +1,8 @@ +{% if comments %} + <ul class="{{ css_class|default:'' }}"> + {% for comment in comments %} + <li><a href="{{ comment.get_absolute_url }}">{% if comment.is_author_reply %}Author Reply{% else %}Comment{% endif %} by {{ comment.author.get_title_display }} {{ comment.author.user.last_name }} on {{ comment.date_submitted|date:'DATE_FORMAT' }}</a></li> + {% include 'partials/comments/comments_list.html' with comments=comment.nested_comments.vetted css_class='m-0 pl-4' %} + {% endfor %} + </ul> +{% endif %} diff --git a/scipost/templates/partials/scipost/personal_page/submissions.html b/scipost/templates/partials/scipost/personal_page/submissions.html index 0e9c098facb4ad2ada8762c20f92b591de04c308..2af5125f616fa08dae91440a3704a180b2b6e801 100644 --- a/scipost/templates/partials/scipost/personal_page/submissions.html +++ b/scipost/templates/partials/scipost/personal_page/submissions.html @@ -21,7 +21,7 @@ </div> <div class="col-12"> <ul class="list-group list-group-flush"> - {% for sub in own_submissions %}, + {% for sub in own_submissions %} <li class="list-group-item"> <div class="card-body px-0"> {% include 'partials/submissions/submission_card_content.html' with submission=sub %} diff --git a/scipost/templatetags/request_filters.py b/scipost/templatetags/request_filters.py index d28599705956a345fecefd81acf1492296bc6e14..124ebd9aeae4a9c3852d32ab5bccea0271b8bad5 100644 --- a/scipost/templatetags/request_filters.py +++ b/scipost/templatetags/request_filters.py @@ -1,4 +1,8 @@ +import re + from django import template +from django.core.urlresolvers import reverse, NoReverseMatch + from urllib.parse import urlencode register = template.Library() @@ -9,3 +13,15 @@ def url_replace(context, **kwargs): query = context['request'].GET.dict() query.update(kwargs) return urlencode(query) + + +@register.simple_tag(takes_context=True) +def active(context, pattern_or_urlname): + try: + pattern = '^' + reverse(pattern_or_urlname) + except NoReverseMatch: + pattern = pattern_or_urlname + path = context['request'].path + if re.search(pattern, path): + return 'active' + return '' diff --git a/submissions/models.py b/submissions/models.py index d322603d05fbd16a1dd2b9e39a1f2fb2282590aa..8b2f21ef33d4a28af2dbff7bac6b30cd99a96e1b 100644 --- a/submissions/models.py +++ b/submissions/models.py @@ -192,6 +192,15 @@ class Submission(models.Model): return Submission.objects.filter( arxiv_identifier_wo_vn_nr=self.arxiv_identifier_wo_vn_nr).first().submission_date + @cached_property + def thread(self): + """ + Return all versions of the Submission with that arxiv id. + """ + return Submission.objects.public().filter( + arxiv_identifier_wo_vn_nr=self.arxiv_identifier_wo_vn_nr + ).order_by('-arxiv_vn_nr') + @cached_property def other_versions(self): """ diff --git a/submissions/templates/partials/submissions/table_of_contents.html b/submissions/templates/partials/submissions/table_of_contents.html new file mode 100644 index 0000000000000000000000000000000000000000..bb13dd40a81405c2ca4e822158e8410067c08e1f --- /dev/null +++ b/submissions/templates/partials/submissions/table_of_contents.html @@ -0,0 +1,20 @@ +{% load request_filters %} + +<div class="card"> + <div class="card-body"> + <h3 class="card-title">Table of Contents</h3> + {% for sibling in submission.thread %} + <div class="my-2"> + {% if forloop.last %}Submission{% else %}Resubmission{% endif %} <a href="{{ sibling.get_absolute_url }}" class="pubtitleli">{{ sibling.arxiv_identifier_w_vn_nr }}</a> <em>submitted on {{ sibling.submission_date|date:'j F Y' }}</em> + </div> + <ul class="m-0 pl-4"> + {% for report in sibling.reports.accepted %} + <li><a href="{{ report.get_absolute_url }}">Report {{ report.report_nr }} submitted on {{ report.date_submitted }} by {% if report.anonymous %}<em>Anonymous</em>{% else %}{{ report.author.get_title_display }} {{ report.author.user.last_name }}{% endif %}</a></li> + {% include 'partials/comments/comments_list.html' with comments=report.comments.vetted css_class='my-1 pl-4' %} + {% endfor %} + </ul> + + {% include 'partials/comments/comments_list.html' with comments=sibling.comments.vetted css_class='my-1 pl-4' %} + {% endfor %} + </div> +</div> diff --git a/submissions/templates/submissions/submission_detail.html b/submissions/templates/submissions/submission_detail.html index dfd390661a321543e2c64ad961c8f6b529e7063c..15500fbcaf8d9c38e18122c71f10aa595a92d752 100644 --- a/submissions/templates/submissions/submission_detail.html +++ b/submissions/templates/submissions/submission_detail.html @@ -20,7 +20,7 @@ {% block content %} <div class="row"> - <div class="col"> + <div class="col-md-8"> <h2>SciPost Submission Page</h2> <h1 class="text-primary">{{submission.title}}</h1> <h3 class="mb-3">by {{submission.author_list}}</h3> @@ -36,28 +36,34 @@ {% endif %} {% if unfinished_report_for_user %} - <h3 class="mt-0">- <span class="circle text-danger border-danger">!</span> You have an unfinished report for this submission, <a href="{% url 'submissions:submit_report' arxiv_identifier_w_vn_nr=submission.arxiv_identifier_w_vn_nr %}">finish your report here.</a></h3> + <h3>- <span class="circle text-danger border-danger">!</span> You have an unfinished report for this submission, <a href="{% url 'submissions:submit_report' arxiv_identifier_w_vn_nr=submission.arxiv_identifier_w_vn_nr %}">finish your report here.</a></h3> {% endif %} - {% if submission.other_versions or not submission.is_current %} - <ul class="mt-3 mb-1 list-unstyled pl-4"> - {% if not submission.is_current %} - <li><h3 class="text-danger">This is not the current version.</h3></li> - {% endif %} - - {% if submission.other_versions %} - <li>Other versions of this Submission (with Reports) exist:</li> - <ul class="list-unstyled"> - {% for vn in submission.other_versions %} - <li>{% include 'submissions/_submission_version.html' with submission=vn %}</li> - {% endfor %} - </ul> - {% endif %} - </ul> + {% if not submission.is_current %} + <h3><span class="text-danger">- This is not the current version.</span></h3> {% endif %} + + {% comment %} + {% if submission.other_versions or not submission.is_current %} + <ul class="mt-3 mb-1 list-unstyled pl-4"> + {% if not submission.is_current %} + <li><h3 class="text-danger">This is not the current version.</h3></li> + {% endif %} + + {% if submission.other_versions %} + <li>Other versions of this Submission (with Reports) exist:</li> + <ul class="list-unstyled"> + {% for vn in submission.other_versions %} + <li>{% include 'submissions/_submission_version.html' with submission=vn %}</li> + {% endfor %} + </ul> + {% endif %} + </ul> + {% endif %} + {% endcomment %} </div> - <h3>Submission summary</h3> + <h3 class="mt-2">Submission summary</h3> {% include 'submissions/_submission_summary.html' with submission=submission hide_title=1 %} {% include 'submissions/_submission_status_block.html' with submission=submission %} @@ -77,13 +83,14 @@ {% endif %} </div> - {% if invitations %} - <div class="col-md-4"> - {% for invitation in invitations %} - {% include 'partials/submissions/refereeing_status_card.html' with invitation=invitation %} - {% endfor %} - </div> - {% endif %} + <div class="col-md-4"> + {% for invitation in invitations %} + {% include 'partials/submissions/refereeing_status_card.html' with invitation=invitation %} + {% endfor %} + + {% include 'partials/submissions/table_of_contents.html' with submission=submission %} + </div> + </div> {% if is_author or user|is_in_group:'Editorial College' or user|is_in_group:'Editorial Administrators' %}