SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 8baa760d authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Auto-map to Profile when creating a RegistrationInvitation

parent 8b2a9578
No related branches found
No related tags found
No related merge requests found
......@@ -13,6 +13,8 @@ from submissions.models import Submission
from . import constants
from .models import RegistrationInvitation, CitationNotification
from profiles.models import Profile
from ajax_select.fields import AutoCompleteSelectField, AutoCompleteSelectMultipleField
......@@ -193,6 +195,7 @@ class RegistrationInvitationForm(AcceptRequestMixin, forms.ModelForm):
class Meta:
model = RegistrationInvitation
fields = (
'profile',
'title',
'first_name',
'last_name',
......@@ -200,6 +203,9 @@ class RegistrationInvitationForm(AcceptRequestMixin, forms.ModelForm):
'message_style',
'invitation_type',
'personal_message')
widgets = {
'profile': forms.HiddenInput(),
}
def __init__(self, *args, **kwargs):
# Find Submissions/Publications related to the invitation and fill the autocomplete fields
......@@ -232,6 +238,12 @@ class RegistrationInvitationForm(AcceptRequestMixin, forms.ModelForm):
def save(self, *args, **kwargs):
if not hasattr(self.instance, 'created_by'):
self.instance.created_by = self.request.user
# Try to associate an existing Profile to invitation:
profile = Profile.objects.get_unique_from_email_or_None(
email=self.cleaned_data['email'])
self.instance.profile = profile
invitation = super().save(*args, **kwargs)
if kwargs.get('commit', True):
# Save the Submission notifications
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment