From 903174c397e47ca3bfae689168db13f39f6afb29 Mon Sep 17 00:00:00 2001
From: "J.-S. Caux" <J.S.Caux@uva.nl>
Date: Sun, 2 May 2021 15:59:05 +0200
Subject: [PATCH] Reorder preprint servers a bit

---
 .../submit_choose_preprint_server.html        | 28 +++++++++----------
 submissions/views.py                          | 15 ++++++----
 2 files changed, 23 insertions(+), 20 deletions(-)

diff --git a/submissions/templates/submissions/submit_choose_preprint_server.html b/submissions/templates/submissions/submit_choose_preprint_server.html
index b7e537b3c..15c125a99 100644
--- a/submissions/templates/submissions/submit_choose_preprint_server.html
+++ b/submissions/templates/submissions/submit_choose_preprint_server.html
@@ -70,6 +70,20 @@
 	            {% include 'bi/arrow-right.html' %}
 		    <input type="submit" class="btn btn-primary text-white" value="Query arXiv"/>
 		  </form>
+		{% elif preprint_server.server.served_by and preprint_server.server.served_by.name == 'OSFPreprints' %}
+		  <h3>Please provide the {{ preprint_server.server.name }} identifier for your Submission</h3>
+		  <p><em>just a few lowercase alphanumeric characters, e.g. #####</em></p>
+		  <p><em>Hint: on the submission's {{ preprint_server.server.name }} page, look for the last few characters in the DOI to see the identifier.</em></p>
+		  <p><em>Example: if the DOI is <strong>10.31235/osf.io/xxzbx</strong>,
+		    then you need <strong>xxzbx</strong></em></p>
+		  <form action="{% url 'submissions:submit_manuscript_osfpreprints' journal_doi_label=journal.doi_label %}" method="get">
+		    {{ preprint_server.prefill_form }}
+		    {% if thread_hash %}
+		      <input type="hidden" name="thread_hash" value="{{ thread_hash }}"/>
+		    {% endif %}
+	            {% include 'bi/arrow-right.html' %}
+		    <input type="submit" class="btn btn-primary text-white" value="Query {{ preprint_server.server.name }}"/>
+		  </form>
 		{% elif preprint_server.server.served_by and preprint_server.server.served_by.name == 'Figshare' %}
 		  <h3>Please provide the {{ preprint_server.server.name }} identifier for your Submission</h3>
 		  <p><em>without the url prefix but with version number, e.g.
@@ -83,20 +97,6 @@
 	            {% include 'bi/arrow-right.html' %}
 		    <input type="submit" class="btn btn-primary text-white" value="Query {{ preprint_server.server.name }}"/>
 		  </form>
-		{% elif preprint_server.server.served_by and preprint_server.server.served_by.name == 'OSFPreprints' %}
-		  <h3>Please provide the {{ preprint_server.server.name }} identifier for your Submission</h3>
-		  <p><em>just a few lowercase alphanumeric characters, e.g. #####</em></p>
-		  <p><em>Hint: on the submission's {{ preprint_server.server.name }} page, look for the last few characters in the DOI to see the identifier.</em></p>
-		  <p><em>Example: if the DOI is <strong>10.31235/osf.io/xxzbx</strong>,
-		    then you need <strong>xxzbx</strong></em></p>
-		    <form action="{% url 'submissions:submit_manuscript_osfpreprints' journal_doi_label=journal.doi_label %}" method="get">
-		      {{ preprint_server.prefill_form }}
-		      {% if thread_hash %}
-			<input type="hidden" name="thread_hash" value="{{ thread_hash }}"/>
-		      {% endif %}
-	              {% include 'bi/arrow-right.html' %}
-		      <input type="submit" class="btn btn-primary text-white" value="Query {{ preprint_server.server.name }}"/>
-		  </form>
 		{% endif %}
 	      </div>
 	    </div>
diff --git a/submissions/views.py b/submissions/views.py
index 9aacd1c10..4bfaaba6a 100644
--- a/submissions/views.py
+++ b/submissions/views.py
@@ -167,6 +167,7 @@ def submit_choose_preprint_server(request, journal_doi_label):
     # Each integrated preprint server has a prefill form:
     preprint_server_list = []
 
+    # arXiv the beloved, always first (if available in this field)
     if preprint_servers.filter(name='arXiv').exists():
         preprint_server_list.append({
             'server': preprint_servers.get(name='arXiv'),
@@ -176,24 +177,26 @@ def submit_choose_preprint_server(request, journal_doi_label):
                 thread_hash=thread_hash)
         })
 
-    for ps in preprint_servers.filter(served_by__name='Figshare'):
+    # then all OSF-based preprint servers
+    for ps in preprint_servers.filter(served_by__name='OSFPreprints'):
         preprint_server_list.append({
             'server': ps,
-            'prefill_form': FigsharePrefillForm(
+            'prefill_form': OSFPreprintsPrefillForm(
                 initial={
-                    'figshare_preprint_server': ps
+                    'osfpreprints_preprint_server': ps
                 },
                 requested_by=request.user,
                 journal_doi_label=journal_doi_label,
                 thread_hash=thread_hash)
         })
 
-    for ps in preprint_servers.filter(served_by__name='OSFPreprints'):
+    # then all Figshare-based preprint servers
+    for ps in preprint_servers.filter(served_by__name='Figshare'):
         preprint_server_list.append({
             'server': ps,
-            'prefill_form': OSFPreprintsPrefillForm(
+            'prefill_form': FigsharePrefillForm(
                 initial={
-                    'osfpreprints_preprint_server': ps
+                    'figshare_preprint_server': ps
                 },
                 requested_by=request.user,
                 journal_doi_label=journal_doi_label,
-- 
GitLab