Login form.
[wolnelektury.git] / src / wolnelektury / forms.py
1 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
2 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
3 #
4 from allauth.socialaccount.forms import SignupForm
5 from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
6 from django.contrib.auth.models import User
7
8 from newsletter.forms import NewsletterForm
9
10
11 class WLAuthenticationForm(AuthenticationForm):
12     template_name = '2022/form.html'
13
14
15 # has to be this order, because otherwise the form is lacking fields
16 class RegistrationForm(UserCreationForm, NewsletterForm):
17     data_processing_part2 = '''\
18 Dane są przetwarzane w zakresie niezbędnym do prowadzenia serwisu, a także w celach prowadzenia statystyk, \
19 ewaluacji i sprawozdawczości. W przypadku wyrażenia dodatkowej zgody adres e-mail zostanie wykorzystany \
20 także w celu przesyłania newslettera Wolnych Lektur.'''
21
22     class Meta:
23         model = User
24         fields = ('username', 'email')
25
26     def save(self, commit=True):
27         super(RegistrationForm, self).save(commit=commit)
28         NewsletterForm.save(self)
29
30
31 class SocialSignupForm(SignupForm, NewsletterForm):
32     data_processing_part2 = '''\
33 Dane są przetwarzane w zakresie niezbędnym do prowadzenia serwisu, a także w celach prowadzenia statystyk, \
34 ewaluacji i sprawozdawczości. W przypadku wyrażenia dodatkowej zgody adres e-mail zostanie wykorzystany \
35 także w celu przesyłania newslettera Wolnych Lektur.'''
36
37     def save(self, *args, **kwargs):
38         super(SocialSignupForm, self).save(*args, **kwargs)
39         NewsletterForm.save(self)