From 345a61246351f143878f10287998b6c5560a828a Mon Sep 17 00:00:00 2001
From: Jorran de Wit <jorrandewit@outlook.com>
Date: Mon, 14 Aug 2017 14:39:00 +0200
Subject: [PATCH] Add EdCol Admin page

---
 scipost/templates/scipost/about.html          |   2 +-
 scipost/templates/scipost/navbar.html         |   5 +
 .../admin/editorial_admin_summary.html        | 149 ++++++++++++++++++
 .../submissions/refereeing_status_as_tr.html  |  10 ++
 .../_recommendation_author_content.html       |   4 +-
 .../_recommendation_fellow_content.html       |   2 +-
 .../_submission_refereeing_status.html        |   9 +-
 .../admin/eic_recommendation_detail.html      |  94 +++++++++++
 .../plagiarism_report.html}                   |   4 +-
 .../submissions/editorial_admin_summary.html  |  88 ++++++++---
 .../submissions/reports_accepted_list.html    |  72 ++++-----
 submissions/urls.py                           |   4 +
 submissions/views.py                          |  39 ++++-
 13 files changed, 409 insertions(+), 73 deletions(-)
 create mode 100644 submissions/templates/partials/submissions/admin/editorial_admin_summary.html
 create mode 100644 submissions/templates/partials/submissions/refereeing_status_as_tr.html
 create mode 100644 submissions/templates/submissions/admin/eic_recommendation_detail.html
 rename submissions/templates/submissions/{editorial_admin_plagiarism.html => admin/plagiarism_report.html} (78%)

diff --git a/scipost/templates/scipost/about.html b/scipost/templates/scipost/about.html
index eb6f866f1..b4a1fba12 100644
--- a/scipost/templates/scipost/about.html
+++ b/scipost/templates/scipost/about.html
@@ -76,7 +76,7 @@
     <div class="col-md-3 offset-md-1">
       <h3><a href="{% url 'scipost:foundation' %}">The SciPost Foundation</a></h3>
       <ul>
-    	<li>Chairman: Prof. <a href="http://jscaux.org">J.-S. Caux</a></li>
+    	<li>Chairman: Prof. <a href="http://jscaux.org" target="_blank">J.-S. Caux</a></li>
     	<li>Secretary: Dr J. van Mameren</li>
     	<li>Treasurer: Dr J. van Wezel</li>
       </ul>
diff --git a/scipost/templates/scipost/navbar.html b/scipost/templates/scipost/navbar.html
index bd532a8c9..1bad25aa7 100644
--- a/scipost/templates/scipost/navbar.html
+++ b/scipost/templates/scipost/navbar.html
@@ -24,6 +24,11 @@
               <li class="nav-item highlighted">
                 <span class="nav-link">Logged in as {{ user.username }}</span>
               </li>
+              {% if perms.scipost.can_oversee_refereeing %}
+                  <li class="nav-item{% if '/submissions/admin' in request.path %} active{% endif %}">
+                    <a class="nav-link" href="{% url 'submissions:admin_summary' %}">Editorial Administration</a>
+                  </li>
+              {% endif %}
               {% if user.contributor %}
                   <li class="nav-item{% if '/personal_page' in request.path %} active{% endif %}">
                     <a class="nav-link" href="{% url 'scipost:personal_page' %}">Personal Page</a>
diff --git a/submissions/templates/partials/submissions/admin/editorial_admin_summary.html b/submissions/templates/partials/submissions/admin/editorial_admin_summary.html
new file mode 100644
index 000000000..2a8c6e2f5
--- /dev/null
+++ b/submissions/templates/partials/submissions/admin/editorial_admin_summary.html
@@ -0,0 +1,149 @@
+{% load guardian_tags %}
+{% load scipost_extras %}
+{% load submissions_extras %}
+{% load render_bundle from webpack_loader %}
+
+
+<h5 class="pb-0">{{submission.get_subject_area_display}}</h5>
+<h3 class="card-title">
+    <a href="{{submission.get_absolute_url}}">{{submission.title}}</a>
+</h3>
+
+<p class="card-text mb-3">by {{submission.author_list}}</p>
+<h3>Info</h3>
+<table class="text-muted w-100 mb-1">
+    <tr>
+        <td style="min-width: 40%;">Version</td>
+        <td>{{submission.arxiv_vn_nr}} ({% if submission.is_current %}current version{% else %}deprecated version {{submission.arxiv_vn_nr}}{% endif %})</td>
+    </tr>
+    <tr>
+        <td>Submitted</td>
+        <td>{{submission.submission_date}} to {{submission.get_submitted_to_journal_display}}</td>
+    </tr>
+
+    {% if submission.acceptance_date %}
+        <tr>
+            <td>Accepted</td>
+            <td>{{submission.acceptance_date}}</td>
+        </tr>
+    {% endif %}
+
+    <tr>
+        <td>Latest activity</td>
+        <td>{{submission.latest_activity}}</td>
+    </tr>
+    <tr>
+        <td>Editor-in-charge</td>
+        <td>
+            {% if submission.editor_in_charge %}
+                {{ submission.editor_in_charge }}
+            {% elif perms.scipost.can_assign_submissions %}
+                <a href="{% url 'submissions:assign_submission' submission.arxiv_identifier_w_vn_nr %}">Send a new assignment request</a>
+            {% else %}
+                -
+            {% endif %}
+        </td>
+    </tr>
+    <tr>
+        <td>Status</td>
+        <td>{{ submission.get_status_display }}</td>
+    </tr>
+    <tr>
+        <td>Refereeing cycle</td>
+        <td>{{ submission.get_refereeing_cycle_display }}</td>
+    </tr>
+
+    {% include 'partials/submissions/refereeing_status_as_tr.html' with submission=submission %}
+
+    <tr>
+        <td>Comments</td>
+        <td>
+            {{submission.comments.vetted.count}}
+            <span class="circle-clickable" data-toggle="tooltip" data-html="true" title="{{submission.comments.regular_comments.vetted.count}} comments<br>{{submission.comments.author_replies.vetted.count}} author replies<hr>{{submission.comments.awaiting_vetting.count}} awaiting vetting">?</span>
+        </td>
+    </tr>
+
+    <tr>
+        <td>Reporting deadline</td>
+        <td>
+            {% if submission.reporting_deadline > now %}
+                in {{submission.reporting_deadline|timeuntil}}
+            {% else %}
+                {{submission.reporting_deadline|timesince}} ago
+            {% endif %}
+        </td>
+    </tr>
+
+    <tr>
+        <td>Plagiarism score</td>
+        <td>
+            {% if submission.plagiarism_report %}
+                {{ submission.plagiarism_report.score }}
+            {% else %}
+                <a href="{% url 'submissions:plagiarism' submission.arxiv_identifier_w_vn_nr %}">Run plagiarism check</a>
+            {% endif %}
+        </td>
+    </tr>
+
+</table>
+<a href="{% url 'submissions:editorial_page' submission.arxiv_identifier_w_vn_nr %}" class="d-inline-block mb-3">Go to Editorial Page</a>
+
+<h3>Actions</h3>
+
+<ul class="pl-4 mb-3">
+    {# EIC Assignments #}
+    {% if perms.scipost.can_assign_submissions %}
+        {% if not submission.editor_in_charge %}
+            <li>EIC Assignment requests:</li>
+            <ul>
+                {% for assignment in submission.editorialassignment_set.all %}
+                    {% include 'submissions/_assignment_info.html' with assignment=assignment %}
+                {% empty %}
+                    <li>None found. <a href="{% url 'submissions:assign_submission' submission.arxiv_identifier_w_vn_nr %}">Send a first assignment request</a></li>
+                {% endfor %}
+            </ul>
+            <li><a href="{% url 'submissions:assign_submission' submission.arxiv_identifier_w_vn_nr %}">Send a new assignment request</a></li>
+            <li><a href="{% url 'submissions:assignment_failed' submission.arxiv_identifier_w_vn_nr %}">Close pre-screening: failure to find EIC</a></li>
+        {% endif %}
+    {% endif %}
+
+    {# Plagiarism #}
+    <li><a href="{% url 'submissions:plagiarism' submission.arxiv_identifier_w_vn_nr %}">Run plagiarism check</a></li>
+
+    {# Compile pdfs #}
+    {% if submission.reports.accepted.exists %}
+        <li><a href="{% url 'submissions:reports_accepted_list' %}?submission={{submission.arxiv_identifier_w_vn_nr}}">Compile accepted reports</a></li>
+    {% endif %}
+
+    {# Communication #}
+    {% if submission.editor_in_charge %}
+        <li><a href="{% url 'submissions:communication' arxiv_identifier_w_vn_nr=submission.arxiv_identifier_w_vn_nr comtype='StoE' %}">Send a communication to the Editor-in-charge</a></li>
+    {% endif %}
+
+    {# EIC Recommendations #}
+    {% if submission.eicrecommendations.exists %}
+        <li>See Editorial Recommendations:</li>
+        <ul>
+            {% for rec in submission.eicrecommendations.all %}
+                <li><a href="{% url 'submissions:eic_recommendation_detail' arxiv_identifier_w_vn_nr=submission.arxiv_identifier_w_vn_nr rec_id=rec.id %}">{{rec.get_recommendation_display}}</a></li>
+            {% endfor %}
+        </ul>
+    {% endif %}
+
+    {# Accepted submission actions #}
+    {% if submission.status == 'accepted' %}
+        <li><a href="{% url 'submissions:treated_submission_pdf_compile' submission.arxiv_identifier_w_vn_nr %}">Update the Refereeing Package pdf</a></li>
+        <li>After proofs have been accepted, you can <a href="{% url 'journals:initiate_publication' %}">initiate the publication process</a> (leads to the validation page)</li>
+    {% endif %}
+</ul>
+
+
+<h3>Events</h3>
+<a href="javascript:;" data-toggle="toggle" data-target="#eventslist">Show/hide events</a>
+<div id="eventslist">
+    {% include 'submissions/submission_event_list.html' with events=submission.events.for_eic %}
+</div>
+
+{% block footer_script %}
+    {% render_bundle 'tooltip' 'js' %}
+{% endblock %}
diff --git a/submissions/templates/partials/submissions/refereeing_status_as_tr.html b/submissions/templates/partials/submissions/refereeing_status_as_tr.html
new file mode 100644
index 000000000..f87861191
--- /dev/null
+++ b/submissions/templates/partials/submissions/refereeing_status_as_tr.html
@@ -0,0 +1,10 @@
+{% if submission.refereeing_cycle != 'direct_rec' %}
+    <tr>
+        <td>Referees invited</td>
+        <td>{{submission.referee_invitations.count}} <span class="circle-clickable" data-toggle="tooltip" data-html="true" title="{{submission.referee_invitations.accepted.count}} acccepted<br>{{submission.referee_invitations.declined.count}} declined<br>{{submission.referee_invitations.pending.count}} response pending">?</span>
+    <tr>
+    <tr>
+        <td>Reports obtained</td>
+        <td>{{submission.reports.accepted.count}} <span class="circle-clickable" data-toggle="tooltip" data-html="true" title="{{submission.reports.accepted.invited.count}} invited<br>{{submission.reports.accepted.contributed.count}} contributed<hr>{{submission.reports.awaiting_vetting.count}} awaiting vetting<br>{{submission.reports.rejected.count}} rejected">?</span>
+    <tr>
+{% endif %}
diff --git a/submissions/templates/submissions/_recommendation_author_content.html b/submissions/templates/submissions/_recommendation_author_content.html
index cfbda0714..d7a2bee96 100644
--- a/submissions/templates/submissions/_recommendation_author_content.html
+++ b/submissions/templates/submissions/_recommendation_author_content.html
@@ -6,10 +6,10 @@
     {% endblock %}
 
     <h3 class="pb-0">Remarks for authors</h3>
-    <p class="pl-md-3">{{recommendation.remarks_for_authors}}</p>
+    <p class="pl-md-3">{{recommendation.remarks_for_authors|default:'-'}}</p>
 
     <h3 class="pb-0">Requested changes</h3>
-    <p class="pl-md-3">{{recommendation.requested_changes}}</p>
+    <p class="pl-md-3">{{recommendation.requested_changes|default:'-'}}</p>
 
     {% block recommendation_before_recommendation %}{% endblock %}
 
diff --git a/submissions/templates/submissions/_recommendation_fellow_content.html b/submissions/templates/submissions/_recommendation_fellow_content.html
index 79e165088..e2e3926a7 100644
--- a/submissions/templates/submissions/_recommendation_fellow_content.html
+++ b/submissions/templates/submissions/_recommendation_fellow_content.html
@@ -6,5 +6,5 @@
 
 {% block recommendation_before_recommendation %}
     <h3 class="pb-0">Remarks for Editorial College</h3>
-    <p class="pl-md-3">{{recommendation.remarks_for_editorial_college}}</p>
+    <p class="pl-md-3">{{recommendation.remarks_for_editorial_college|default:'-'}}</p>
 {% endblock %}
diff --git a/submissions/templates/submissions/_submission_refereeing_status.html b/submissions/templates/submissions/_submission_refereeing_status.html
index 5d1ea7b1d..225405c15 100644
--- a/submissions/templates/submissions/_submission_refereeing_status.html
+++ b/submissions/templates/submissions/_submission_refereeing_status.html
@@ -1,6 +1,7 @@
 {% if submission.refereeing_cycle != 'direct_rec' %}
-    <div class="card-block">
-        <p class="card-text">Nr referees invited: {{submission.referee_invitations.count}} <span>[{{submission.count_accepted_invitations}} acccepted / {{submission.count_declined_invitations}} declined / {{submission.count_pending_invitations}} response pending]</span></p>
-        <p class="card-text">Nr reports obtained: {{submission.count_obtained_reports}} [{{submission.count_invited_reports}} invited / {{submission.count_contrib_reports}} contributed], nr refused: {{submission.reports.rejected.count}}, nr awaiting vetting: {{submission.reports.awaiting_vetting.count}}</p>
-    </div>
+<p>
+    Nr referees invited: {{submission.referee_invitations.count}} <span>[{{submission.count_accepted_invitations}} acccepted / {{submission.count_declined_invitations}} declined / {{submission.count_pending_invitations}} response pending]</span>
+    <br>
+    Nr reports obtained: {{submission.count_obtained_reports}} [{{submission.count_invited_reports}} invited / {{submission.count_contrib_reports}} contributed], nr refused: {{submission.reports.rejected.count}}, nr awaiting vetting: {{submission.reports.awaiting_vetting.count}}
+</p>
 {% endif %}
diff --git a/submissions/templates/submissions/admin/eic_recommendation_detail.html b/submissions/templates/submissions/admin/eic_recommendation_detail.html
new file mode 100644
index 000000000..8d8e0cd66
--- /dev/null
+++ b/submissions/templates/submissions/admin/eic_recommendation_detail.html
@@ -0,0 +1,94 @@
+{% extends 'submissions/_pool_base.html' %}
+
+{% block pagetitle %}: editorial recommendation for submission{% endblock pagetitle %}
+
+{% load scipost_extras %}
+{% load bootstrap %}
+
+{% block breadcrumb_items %}
+    {{block.super}}
+    <a href="{% url 'submissions:admin_summary' %}?submission={{submission.arxiv_identifier_w_vn_nr}}" class="breadcrumb-item">Editorial Administration</a>
+    <span class="breadcrumb-item">Editorial Recommendation</span>
+{% endblock %}
+
+{% block content %}
+
+<div class="row">
+    <div class="col-12">
+        <div class="card card-grey">
+            <div class="card-block">
+                <h1 class="card-title">Editorial Recommendation for Submission</h1>
+                <p class="card-text">
+                    Go back to the <a href="{% url 'submissions:editorial_page' arxiv_identifier_w_vn_nr=submission.arxiv_identifier_w_vn_nr %}">
+                	Editorial Page</a> to take editorial actions
+                </p>
+            </div>
+        </div>
+    </div>
+</div>
+
+<h2>Submission</h2>
+{% include 'submissions/_submission_summary.html' with submission=submission %}
+
+<div class="card card-outline-secondary">
+    {% include 'submissions/_recommendation_fellow_content.html' with recommendation=object %}
+    <div class="card-block">
+        {% if object.remark_set.all %}
+            <h3 class="card-title">Remarks by Fellows:</h3>
+            <ul>
+              {% for remark in object.remark_set.all|sort_by:'date' %}
+                  {{ remark.as_li }}
+              {% endfor %}
+            </ul>
+        {% endif %}
+
+        <h3 class="card-title">Fellows eligible to vote:</h3>
+        <ul>
+          <li>
+              {% for eligible in object.eligible_to_vote.all|sort_by:'user__last_name' %}
+                  {{ eligible.user.last_name }},&nbsp;
+              {% endfor %}
+            </li>
+        </ul>
+
+        <h3 class="card-title">Voting results up to now:</h3>
+        <ul>
+            <li>
+                Agreed:&nbsp;({{ object.voted_for.all.count }})
+                {% for agreed in object.voted_for.all|sort_by:'user__last_name' %}
+                    {{ agreed.user.last_name }},&nbsp;
+                {% endfor %}
+            </li>
+            <li>
+                Disagreed:&nbsp;({{ object.voted_against.all.count }})
+                {% for disagreed in object.voted_against.all|sort_by:'user__last_name' %}
+                    {{ disagreed.user.last_name }},&nbsp;
+                {% endfor %}
+            </li>
+            <li>
+                Abstained:&nbsp;({{ object.voted_abstain.all.count }})
+                {% for abstained in object.voted_abstain.all|sort_by:'user__last_name' %}
+                    {{ abstained.user.last_name }},&nbsp;
+                {% endfor %}
+            </li>
+        </ul>
+
+        {% if object.remark_set %}
+            <h3 class="card-title">Remarks:</h3>
+            <ul>
+              {% for rem in object.remark_set.all %}
+                  <li>{{ rem }}</li>
+             {% empty %}
+                 <li><em>No remarks</em></li>
+              {% endfor %}
+            </ul>
+        {% endif %}
+
+        <h3>Actions:</h3>
+        <ul>
+            <li>To fix the College decision and follow the Editorial Recommendation as is: <a href="{% url 'submissions:fix_College_decision' rec_id=object.id %}">click here</a></li>
+            <li>To request a modification of the Recommendation to request for revision: click here</li>
+        </ul>
+    </div>
+</div>
+{% endblock content %}
diff --git a/submissions/templates/submissions/editorial_admin_plagiarism.html b/submissions/templates/submissions/admin/plagiarism_report.html
similarity index 78%
rename from submissions/templates/submissions/editorial_admin_plagiarism.html
rename to submissions/templates/submissions/admin/plagiarism_report.html
index 173211765..b87381c2a 100644
--- a/submissions/templates/submissions/editorial_admin_plagiarism.html
+++ b/submissions/templates/submissions/admin/plagiarism_report.html
@@ -4,12 +4,14 @@
 
 {% block breadcrumb_items %}
     {{block.super}}
-    <a href="{% url 'submissions:admin_summary' %}" class="breadcrumb-item">Editorial Administration</a>
+    <a href="{% url 'submissions:admin_summary' %}?submission={{submission.arxiv_identifier_w_vn_nr}}" class="breadcrumb-item">Editorial Administration</a>
     <span class="breadcrumb-item">Plagiarism Report ({{ submission.arxiv_identifier_w_vn_nr }})</span>
 {% endblock %}
 
 {% block content %}
     <h1>Plagiarism Report for <a href="{{submission.get_absolute_url}}">{{submission.arxiv_identifier_w_vn_nr}}</a></h1>
+    <h2>{{submission.title}}</h2>
+    <h3 class="mb-4">by {{submission.author_list}}</h3>
     {% if submission.plagiarism_report %}
         {{submission.plagiarism_report}}
     {% else %}
diff --git a/submissions/templates/submissions/editorial_admin_summary.html b/submissions/templates/submissions/editorial_admin_summary.html
index 78747d09a..8c03ab767 100644
--- a/submissions/templates/submissions/editorial_admin_summary.html
+++ b/submissions/templates/submissions/editorial_admin_summary.html
@@ -8,32 +8,70 @@
 {% endblock %}
 
 {% block content %}
-    <h1>Summary for Editorial Administrators</h1>
+<div class="row">
+    <div class="col-md-7">
+        <h1>Editorial Administration Page</h1>
 
-    <h3>Submissions currently in pre-screening</h3>
-    <ul class="unstyled-list">
-        {% for submission in submission_list.prescreening %}
-            <li>{{submission}}</li>
-        {% empty %}
-            <li>No Submissions are currently in pre-screening</li>
-        {% endfor %}
-    </ul>
+        <h3>Submissions currently in pre-screening</h3>
+        <ul class="unstyled-list">
+            {% for sub in submission_list.prescreening %}
+                <li>
+                    {% if sub == submission %}
+                        <strong><a href="?submission={{sub.arxiv_identifier_w_vn_nr}}" class="text-black">{{sub}}</a></strong>
+                    {% else %}
+                        <a href="?submission={{sub.arxiv_identifier_w_vn_nr}}">{{sub}}</a>
+                    {% endif %}
+                </li>
+            {% empty %}
+                <li>No Submissions are currently in pre-screening</li>
+            {% endfor %}
+        </ul>
 
-    <h3>Submissions currently in refereeing round</h3>
-    <ul class="unstyled-list">
-        {% for submission in submission_list.actively_refereeing %}
-            <li>{{submission}}<br>{{submission.get_status_display}}</li>
-        {% empty %}
-            <li>No Submissions are currently in refereeing round</li>
-        {% endfor %}
-    </ul>
+        <h3>Submissions currently in refereeing round</h3>
+        <ul class="unstyled-list">
+            {% for sub in submission_list.actively_refereeing %}
+                <li>
+                    {% if sub == submission %}
+                        <strong><a href="?submission={{sub.arxiv_identifier_w_vn_nr}}" class="text-black">{{sub}}</a></strong>
+                    {% else %}
+                        <a href="?submission={{sub.arxiv_identifier_w_vn_nr}}">{{sub}}</a>
+                    {% endif %}
+                </li>
+            {% empty %}
+                <li>No Submissions are currently in refereeing round</li>
+            {% endfor %}
+        </ul>
 
-    <h3>Submissions accepted</h3>
-    <ul class="unstyled-list">
-        {% for submission in submission_list.accepted %}
-            <li>{{submission}}</li>
-        {% empty %}
-            <li>All accepted Submissions are published</li>
-        {% endfor %}
-    </ul>
+        <h3>Submissions accepted</h3>
+        <ul class="unstyled-list">
+            {% for sub in submission_list.accepted %}
+                <li>
+                    {% if sub == submission %}
+                        <strong><a href="?submission={{sub.arxiv_identifier_w_vn_nr}}" class="text-black">{{sub}}</a></strong>
+                    {% else %}
+                        <a href="?submission={{sub.arxiv_identifier_w_vn_nr}}">{{sub}}</a>
+                    {% endif %}
+                </li>
+            {% empty %}
+                <li>All accepted Submissions are published</li>
+            {% endfor %}
+        </ul>
+    </div>
+
+    <div class="col-md-5">
+        {% if submission %}
+            <div class="card card-outline-secondary">
+                <div class="card-block">
+                    {% include 'partials/submissions/admin/editorial_admin_summary.html' with submission=submission %}
+                </div>
+            </div>
+        {% else %}
+            <h3><em>Click on a submission to see its summary and actions</em></h3>
+            <h2>All events in the last 24 hours</h2>
+            <div id="eventslist" class="">
+                {% include 'submissions/submission_event_list_general.html' with events=latest_events %}
+            </div>
+        {% endif %}
+    </div>
+</div>
 {% endblock content %}
diff --git a/submissions/templates/submissions/reports_accepted_list.html b/submissions/templates/submissions/reports_accepted_list.html
index b4a2ff77d..76838dc98 100644
--- a/submissions/templates/submissions/reports_accepted_list.html
+++ b/submissions/templates/submissions/reports_accepted_list.html
@@ -11,44 +11,40 @@
 
 {% block content %}
 
-<div class="row">
-    <div class="col-12">
-        <h1 class="highlight">Accepted Reports</h1>
-    </div>
-</div>
+<h1 class="highlight">Accepted Reports{% if request.GET.submission %}<small> for submission {{request.GET.submission}}</small>{% endif %}</h1>
 
-<div class="row">
-    <div class="col-12">
-        <table class="table">
-            <thead>
-                <tr>
-                    <th>Report nr. of Submission</th>
-                    <th>Submission</th>
-                    <th>Report author</th>
-                    <th>Has PDF</th>
-                    <th>Action</th>
-                </tr>
-            </thead>
-            <tbody>
-                {% for report in reports %}
-                    <tr{% if not report.pdf_report %} class="table-danger"{% endif %}>
-                        <td>{{report.report_nr}}</td>
-                        <td><a href="{{report.get_absolute_url}}">{{report.submission.arxiv_identifier_w_vn_nr}}</a></td>
-                        <td>{% if report.anonymous %}<em>Anonymous</em>{% else %}{{report.author}}{% endif %}</td>
-                        <td>
-                            {{report.pdf_report|yesno:"Yes,No"}}
-                            {% if report.pdf_report %}
-                                &middot; <a href="{% url 'submissions:report_detail_pdf' report.submission.arxiv_identifier_w_vn_nr report.report_nr %}" target="_blank">Download</a>
-                            {% endif %}
-                        </td>
-                        <td>
-                            <a href="{% url 'submissions:report_pdf_compile' report.id %}">Compile/upload report</a>
-                        </td>
-                    </tr>
-                {% endfor %}
-            </tbody>
-        </table>
-    </div>
-</div>
+<table class="table">
+    <thead>
+        <tr>
+            <th>Report nr. of Submission</th>
+            <th>Submission</th>
+            <th>Report author</th>
+            <th>Has PDF</th>
+            <th>Action</th>
+        </tr>
+    </thead>
+    <tbody>
+        {% for report in reports %}
+            <tr{% if not report.pdf_report %} class="table-danger"{% endif %}>
+                <td>{{report.report_nr}}</td>
+                <td><a href="{{report.get_absolute_url}}">{{report.submission.arxiv_identifier_w_vn_nr}}</a></td>
+                <td>{% if report.anonymous %}<em>Anonymous</em>{% else %}{{report.author}}{% endif %}</td>
+                <td>
+                    {{report.pdf_report|yesno:"Yes,No"}}
+                    {% if report.pdf_report %}
+                        &middot; <a href="{% url 'submissions:report_detail_pdf' report.submission.arxiv_identifier_w_vn_nr report.report_nr %}" target="_blank">Download</a>
+                    {% endif %}
+                </td>
+                <td>
+                    <a href="{% url 'submissions:report_pdf_compile' report.id %}">Compile/upload report</a>
+                </td>
+            </tr>
+        {% empty %}
+            <tr>
+                <td colspan="5">No Reports found</td>
+            </tr>
+        {% endfor %}
+    </tbody>
+</table>
 
 {% endblock %}
diff --git a/submissions/urls.py b/submissions/urls.py
index cfe6906e4..f9877b391 100644
--- a/submissions/urls.py
+++ b/submissions/urls.py
@@ -30,10 +30,14 @@ urlpatterns = [
         views.treated_submission_pdf_compile, name='treated_submission_pdf_compile'),
     url(r'^admin/(?P<arxiv_identifier_w_vn_nr>[0-9]{4,}.[0-9]{5,}v[0-9]{1,2})/plagiarism$',
         views.PlagiarismView.as_view(), name='plagiarism'),
+    url(r'^admin/(?P<arxiv_identifier_w_vn_nr>[0-9]{4,}.[0-9]{5,}v[0-9]{1,2})/recommendations/(?P<rec_id>[0-9]+)$',
+        views.EICRecommendationView.as_view(), name='eic_recommendation_detail'),
     url(r'^admin/events/latest$', views.latest_events, name='latest_events'),
     url(r'^admin/reports$', views.reports_accepted_list, name='reports_accepted_list'),
     url(r'^admin/reports/(?P<report_id>[0-9]+)/compile$',
         views.report_pdf_compile, name='report_pdf_compile'),
+    url(r'^admin/reports/(?P<report_id>[0-9]+)/compile$',
+        views.report_pdf_compile, name='report_pdf_compile'),
 
     url(r'^submit_manuscript$', views.RequestSubmission.as_view(), name='submit_manuscript'),
     url(r'^submit_manuscript/prefill$', views.prefill_using_arxiv_identifier,
diff --git a/submissions/views.py b/submissions/views.py
index de0ffd7e0..768c220bf 100644
--- a/submissions/views.py
+++ b/submissions/views.py
@@ -257,6 +257,9 @@ def reports_accepted_list(request):
     """
     reports = (Report.objects.accepted()
                .order_by('pdf_report', 'submission').prefetch_related('submission'))
+
+    if request.GET.get('submission'):
+        reports = reports.filter(submission__arxiv_identifier_w_vn_nr=request.GET.get('submission'))
     context = {
         'reports': reports
     }
@@ -1393,6 +1396,8 @@ def fix_College_decision(request, rec_id):
     """
     Terminates the voting on a Recommendation.
     Called by an Editorial Administrator.
+
+    TO FIX: If multiple recommendations are submitted; decisions may be overruled unexpectedly.
     """
     recommendation = get_object_or_404((EICRecommendation.objects
                                         .get_for_user_in_pool(request.user)), pk=rec_id)
@@ -1435,14 +1440,46 @@ def fix_College_decision(request, rec_id):
     return redirect(reverse('submissions:pool'))
 
 
+class EICRecommendationView(SubmissionAdminViewMixin, DetailView):
+    permission_required = 'scipost.can_fix_College_decision'
+    template_name = 'submissions/admin/eic_recommendation_detail.html'
+    editorial_page = True
+
+    def get_context_data(self, *args, **kwargs):
+        """ Get the EICRecommendation as a submission-related instance. """
+        ctx = super().get_context_data(*args, **kwargs)
+        ctx['object'] = get_object_or_404(ctx['submission'].eicrecommendations.all(),
+                                          id=self.kwargs['rec_id'])
+        return ctx
+
+
 class EditorialSummaryView(SubmissionAdminViewMixin, ListView):
+    """
+    Show all submission currently active in a refereeing process.
+    In addition show all EIC events of the last 24 hours.
+    """
     permission_required = 'scipost.can_oversee_refereeing'
     template_name = 'submissions/editorial_admin_summary.html'
 
+    def get_context_data(self, *args, **kwargs):
+        context = super().get_context_data(*args, **kwargs)
+
+        # Pick submission from `submission_list` to include proper filters such as author filters.
+        try:
+            arxiv_id = self.request.GET.get('submission')
+            assert arxiv_id
+            context['submission'] = (context['submission_list']
+                                     .get(arxiv_identifier_w_vn_nr=arxiv_id))
+        except (AssertionError, Submission.DoesNotExist):
+            context['submission'] = None
+            context['latest_events'] = SubmissionEvent.objects.for_eic()#.last_hours()
+        return context
+
 
 class PlagiarismView(SubmissionAdminViewMixin, DetailView):
     permission_required = 'scipost.can_do_plagiarism_checks'
-    template_name = 'submissions/editorial_admin_plagiarism.html'
+    template_name = 'submissions/admin/plagiarism_report.html'
+    editorial_page = True
 
     def post(self, request, *args, **kwargs):
         client = iThenticate.API.Client(settings.ITHENTICATE_USERNAME,
-- 
GitLab