From 124dbf4f8a392e5677a8c5f47c3281bae83cacea Mon Sep 17 00:00:00 2001
From: George Katsikas <giorgakis.katsikas@gmail.com>
Date: Tue, 24 Sep 2024 11:37:35 +0200
Subject: [PATCH] prefix plagiarism and admissibility form inputs

---
 scipost_django/edadmin/forms/plagiarism.py    | 28 +++++++++++++++++--
 .../edadmin/forms/submission_admissibility.py |  9 ++++--
 scipost_django/edadmin/views/incoming.py      |  2 +-
 3 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/scipost_django/edadmin/forms/plagiarism.py b/scipost_django/edadmin/forms/plagiarism.py
index fc808ed16..a6f65dcd7 100644
--- a/scipost_django/edadmin/forms/plagiarism.py
+++ b/scipost_django/edadmin/forms/plagiarism.py
@@ -28,15 +28,37 @@ class PlagiarismAssessmentForm(forms.ModelForm):
         super().__init__(*args, **kwargs)
         self.fields["comments_for_edadmin"].widget.attrs.update({"rows": 5, "cols": 80})
         self.fields["comments_for_authors"].widget.attrs.update({"rows": 5, "cols": 80})
+        self.field_prefix = (
+            f"{self.instance.__class__.__name__.lower()}_{self.instance.submission.id}"
+        )
         self.helper = FormHelper()
         self.helper.layout = Layout(
             Div(
-                Div(Field("status", css_class="d-flex gap-3"), css_class="col"),
+                Div(
+                    Field(
+                        "status",
+                        css_class="d-flex gap-3",
+                        id=f"{self.field_prefix}-status",
+                    ),
+                    css_class="col",
+                ),
                 css_class="row",
             ),
             Div(
-                Div(Field("comments_for_edadmin"), css_class="col col-lg-6"),
-                Div(Field("comments_for_authors"), css_class="col col-lg-6"),
+                Div(
+                    Field(
+                        "comments_for_edadmin",
+                        id=f"{self.field_prefix}-edadmin-comments",
+                    ),
+                    css_class="col col-lg-6",
+                ),
+                Div(
+                    Field(
+                        "comments_for_authors",
+                        id=f"{self.field_prefix}-author-comments",
+                    ),
+                    css_class="col col-lg-6",
+                ),
                 css_class="row",
             ),
             ButtonHolder(
diff --git a/scipost_django/edadmin/forms/submission_admissibility.py b/scipost_django/edadmin/forms/submission_admissibility.py
index 1a91268fe..e729f1a8a 100644
--- a/scipost_django/edadmin/forms/submission_admissibility.py
+++ b/scipost_django/edadmin/forms/submission_admissibility.py
@@ -30,6 +30,7 @@ class SubmissionAdmissibilityForm(forms.Form):
     )
 
     def __init__(self, *args, **kwargs):
+        self.submission = kwargs.pop("submission", None)
         super().__init__(*args, **kwargs)
         self.fields["rejection_email_text"].initial = (
             "In view of this, we are unable to proceed further with the handling of your manuscript. "
@@ -42,18 +43,22 @@ class SubmissionAdmissibilityForm(forms.Form):
             'after "We regret to inform you that your recent submission has not passed the admission step." '
             "Do *NOT* change the default if you don't wish to make changes."
         )
+        self.field_prefix = self.submission.id
         self.helper = FormHelper()
         self.helper.layout = Layout(
             Div(
                 Div(
-                    Field("admissibility"),
+                    Field("admissibility", id=f"{self.field_prefix}-admissibility"),
                     ButtonHolder(
                         Submit("submit", "Submit", css_class="btn btn-primary")
                     ),
                     css_class="col col-lg-4",
                 ),
                 Div(
-                    Field("rejection_email_text"),
+                    Field(
+                        "rejection_email_text",
+                        id=f"{self.field_prefix}-rejection-email-text",
+                    ),
                     css_class="col col-lg-8",
                 ),
                 css_class="row",
diff --git a/scipost_django/edadmin/views/incoming.py b/scipost_django/edadmin/views/incoming.py
index 39f325f43..64fd3fff9 100644
--- a/scipost_django/edadmin/views/incoming.py
+++ b/scipost_django/edadmin/views/incoming.py
@@ -46,7 +46,7 @@ def _hx_submission_admissibility(request, identifier_w_vn_nr):
             tag="danger",
         )
 
-    form = SubmissionAdmissibilityForm(request.POST or None)
+    form = SubmissionAdmissibilityForm(request.POST or None, submission=submission)
     if form.is_valid():
         if form.cleaned_data["admissibility"] == "pass":
             Submission.objects.filter(pk=submission.id).update(
-- 
GitLab