From f52afe78cfeb22a421963a712cb50fff15c9eac4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jean-S=C3=A9bastien=20Caux?= <git@jscaux.org>
Date: Tue, 24 Jan 2023 17:44:46 +0100
Subject: [PATCH] Add needed files

---
 scipost_django/submissions/forms/__init__.py  | 10 ++++++++++
 .../templates/submissions/pool/pool.html      | 20 +++++++++++++------
 scipost_django/submissions/views/__init__.py  |  1 +
 3 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/scipost_django/submissions/forms/__init__.py b/scipost_django/submissions/forms/__init__.py
index 79516ad46..b78c66f6b 100644
--- a/scipost_django/submissions/forms/__init__.py
+++ b/scipost_django/submissions/forms/__init__.py
@@ -50,6 +50,7 @@ from .. import exceptions, helpers
 from ..helpers import to_ascii_only
 from ..models import (
     PreprintServer,
+    SubmissionAuthorProfile,
     Submission,
     RefereeInvitation,
     Report,
@@ -1142,6 +1143,7 @@ class SubmissionForm(forms.ModelForm):
             forward=["specialties",],
         ),
         help_text="Type to search, click to include",
+        required=False,
     )
     followup_of = forms.ModelMultipleChoiceField(
         queryset=Publication.objects.all(),
@@ -1457,6 +1459,14 @@ class SubmissionForm(forms.ModelForm):
 
         submission.save()
 
+        # Add the submitter's AuthorProfile:
+        author_profile = SubmissionAuthorProfile(
+            submission=submission,
+            profile=self.requested_by.contributor.profile,
+        )
+        author_profile.save()
+        submission.author_profiles.add(author_profile)
+
         # Explicitly handle specialties (otherwise they are not saved)
         submission.specialties.set(self.cleaned_data["specialties"])
 
diff --git a/scipost_django/submissions/templates/submissions/pool/pool.html b/scipost_django/submissions/templates/submissions/pool/pool.html
index c61ef3470..d2e957a13 100644
--- a/scipost_django/submissions/templates/submissions/pool/pool.html
+++ b/scipost_django/submissions/templates/submissions/pool/pool.html
@@ -123,7 +123,7 @@
     <div class="card-body">
       <form
 	  hx-post="{% url 'submissions:pool:_hx_submission_list' %}"
-	  hx-trigger="load, keyup delay:500ms, change, search-conditions-updated from:body"
+	  hx-trigger="load, keyup delay:500ms, change, search-conditions-updated from:body, click from:#refresh-button"
 	  hx-target="#search-results"
 	  hx-indicator="#indicator-search"
       >
@@ -131,12 +131,20 @@
       </form>
     </div>
   </div>
-  <div id="indicator-search" class="htmx-indicator p-2">
-    <button class="btn btn-warning" type="button" disabled>
-      <strong>Loading...</strong>
-      <div class="spinner-grow spinner-grow-sm ms-2" role="status" aria-hidden="true"></div>
-    </button>
+  <div class="row">
+    <div class="col">
+      <em>The list should update automatically. Feels stuck? <a id="refresh-button" class="m-2 btn btn-primary">{% include "bi/arrow-clockwise.html" %}&nbsp;Refresh</a>
+    </div>
+    <div class="col">
+      <div id="indicator-search" class="htmx-indicator p-2">
+	<button class="btn btn-warning" type="button" disabled>
+	  <strong>Loading...</strong>
+	  <div class="spinner-grow spinner-grow-sm ms-2" role="status" aria-hidden="true"></div>
+	</button>
+      </div>
+    </div>
   </div>
+
   <h4 class="bg-primary bg-opacity-10 p-2"><span class="text-primary">{% include "bi/info-circle-fill.html" %}</span>&emsp;<em>Tip: click anywhere on a Submission header's light blue background to expand detailed tabs</em></h4>
   <div id="search-results" class="mt-2"></div>
 
diff --git a/scipost_django/submissions/views/__init__.py b/scipost_django/submissions/views/__init__.py
index eebc4ed4b..3e1d7e0e8 100644
--- a/scipost_django/submissions/views/__init__.py
+++ b/scipost_django/submissions/views/__init__.py
@@ -363,6 +363,7 @@ class RequestSubmissionView(LoginRequiredMixin, PermissionRequiredMixin, CreateV
     def form_valid(self, form):
         """Redirect and send out mails if all data is valid."""
         submission = form.save()
+
         submission.add_general_event("Submitted to %s." % str(submission.submitted_to))
 
         text = (
-- 
GitLab