From c15cde5f9ba39414584e870177e0ab6c0adb58ef Mon Sep 17 00:00:00 2001 From: yourcoke <deinkoks@gmail.com> Date: Sun, 27 Dec 2020 19:55:38 +0100 Subject: [PATCH] RedeemTokenUserCreateView jetzt auch mit optionaler email. --- src/plainui/forms.py | 1 + src/plainui/jinja2/plainui/redeem_token.html | 1 + src/plainui/views.py | 11 +++++++++++ 3 files changed, 13 insertions(+) diff --git a/src/plainui/forms.py b/src/plainui/forms.py index a8b8013b4..a73ff403c 100644 --- a/src/plainui/forms.py +++ b/src/plainui/forms.py @@ -77,6 +77,7 @@ class RedeemTokenAddToUserForm(auth_forms.AuthenticationForm): class RedeemTokenUserCreateForm(auth_forms.UserCreationForm): + email = forms.EmailField(required=False, help_text=gettext("optional")) class Meta: model = PlatformUser fields = ("username",) diff --git a/src/plainui/jinja2/plainui/redeem_token.html b/src/plainui/jinja2/plainui/redeem_token.html index c0de89b6c..45bd36d8e 100644 --- a/src/plainui/jinja2/plainui/redeem_token.html +++ b/src/plainui/jinja2/plainui/redeem_token.html @@ -31,6 +31,7 @@ {{ form_elements.text(form_create, 'username') }} {{ form_elements.password(form_create, 'password1') }} {{ form_elements.password(form_create, 'password2') }} + {{ form_elements.text(form_create, 'email') }} <div class="d-flex"> <button type="submit" class="btn btn-primary ml-auto">{{ _("Create a new Account with your Ticket")}}</button> </div> diff --git a/src/plainui/views.py b/src/plainui/views.py index 566ad2ae0..c615938be 100644 --- a/src/plainui/views.py +++ b/src/plainui/views.py @@ -533,6 +533,17 @@ class RedeemTokenUserCreateView(ConferenceRequiredMixin, FormView): user = form.save() ConferenceMemberTicket.redeem_pretix_ticket(self.conf, user, form.cleaned_data['token']) ConferenceMember(conference=self.conf, user=user).save() + + # TODO: Verifiy mail + mail_channel = UserCommunicationChannel.objects.create( + channel = UserCommunicationChannel.Channel.MAIL, + is_verified = True, + user = user + ) + mail_channel.address = form.cleaned_data['email'] + mail_channel.save() + messages.success(self.request, gettext("eMail added.")) + login(self.request, user, backend='django.contrib.auth.backends.ModelBackend') return HttpResponseRedirect(self.get_success_url()) except TicketValidationError as e: -- GitLab