diff --git a/scipost_django/submissions/forms/__init__.py b/scipost_django/submissions/forms/__init__.py index 714b97048957e76440cea89e2a26bfcab93fa50e..61a5391cc666927ff681bb977ff44ec7ae6e680b 100644 --- a/scipost_django/submissions/forms/__init__.py +++ b/scipost_django/submissions/forms/__init__.py @@ -1546,10 +1546,24 @@ class SubmissionForm(forms.ModelForm): submission.save() + # Try to match the submitting author's last name to a position from the author list. + try: + submitting_author_order = list( + map( + lambda x: self.requested_by.contributor.profile.last_name + in x.strip(), + submission.author_list.split(","), + ) + ).index(True) + except ValueError: + # Otherwise, assume the submitting author is the first author. + submitting_author_order = 1 + # Add the submitter's AuthorProfile: author_profile = SubmissionAuthorProfile( submission=submission, profile=self.requested_by.contributor.profile, + order=submitting_author_order, ) author_profile.save() submission.author_profiles.add(author_profile)