diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc index 1dbeb6c..4c24884 100644 Binary files a/digitaleagentur/__pycache__/settings.cpython-38.pyc and b/digitaleagentur/__pycache__/settings.cpython-38.pyc differ diff --git a/digitaleagentur/__pycache__/urls.cpython-38.pyc b/digitaleagentur/__pycache__/urls.cpython-38.pyc index 94df5d0..eab38f8 100644 Binary files a/digitaleagentur/__pycache__/urls.cpython-38.pyc and b/digitaleagentur/__pycache__/urls.cpython-38.pyc differ diff --git a/digitaleagentur/settings.py b/digitaleagentur/settings.py index 328f000..e39a8ad 100644 --- a/digitaleagentur/settings.py +++ b/digitaleagentur/settings.py @@ -89,6 +89,7 @@ INSTALLED_APPS = [ 'channels', 'channels_presence', 'simple_history', + 'captcha' ] MIDDLEWARE = [ diff --git a/digitaleagentur/urls.py b/digitaleagentur/urls.py index f772138..70f4ee6 100644 --- a/digitaleagentur/urls.py +++ b/digitaleagentur/urls.py @@ -42,6 +42,7 @@ urlpatterns = [ path('api-token-auth/', obtain_auth_token, name='api-token-auth'), path('getdoc//', GetCryptFileRecover.as_view(), name=FETCH_URL_NAME), path('getdoc/', GetCryptFile.as_view(), name=FETCH_URL_NAME), + path('captcha/', include('captcha.urls')), ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) diff --git a/requirements.txt b/requirements.txt index 359d481..915f131 100644 --- a/requirements.txt +++ b/requirements.txt @@ -31,4 +31,5 @@ python-dateutil==2.8.1 django-simple-history==2.11.0 django-encrypted-filefield==0.2.2 more-itertools==8.5.0 -django-passwords==0.3.12 \ No newline at end of file +django-passwords==0.3.12 +django-simple-captcha=0.5.13 \ No newline at end of file diff --git a/users/templates/users/register.html b/users/templates/users/register.html index 76ecfe6..e44f01e 100644 --- a/users/templates/users/register.html +++ b/users/templates/users/register.html @@ -25,22 +25,25 @@ {% for field in form %} - {{field.field_name}} - {% if field.name == 'agb' %} - {{field}}  AGB's*
- {% elif field.name == 'av' %} - {{field}}  Auftragsverarbeitung* - {% else %} - {{field|as_crispy_field}} + + {% if field.name != 'captcha' %} + {{field.field_name}} + {% if field.name == 'agb' %} + {{field}}  AGB's*
+ {% elif field.name == 'av' %} + {{field}}  Auftragsverarbeitung* + {% else %} + {{field|as_crispy_field}} + {% endif %} {% endif %} {% endfor %} - -
+ {{form.captcha|as_crispy_field}} +
@@ -49,7 +52,7 @@
{% endblock content %} \ No newline at end of file diff --git a/users/usersforms.py b/users/usersforms.py index f437cc3..8480d6c 100644 --- a/users/usersforms.py +++ b/users/usersforms.py @@ -8,6 +8,8 @@ from areas.models import Areas from tasks.models import Tasks from PIL import Image from django.utils.translation import gettext as _ +from captcha.fields import CaptchaField + # Standard-User-Formular - NUR Username und Password wird hier genutzt class UsersAddNewUser(UserCreationForm): @@ -174,14 +176,22 @@ class SupportForm(forms.Form): #self.fields["attachment_3"] = forms.FileField(label="Anhang 3", required=False) class NewAgencyForm(forms.Form): + + captcha = CaptchaField() + + fields = ['first_name','last_name','mail','agencyname','vve','agb','av','captcha'] + field_order = ['first_name','last_name','mail','agencyname','vve','agb','av','captcha'] + def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields['first_name'] = forms.CharField(required=True, label="Vorname") self.fields['last_name'] = forms.CharField(required=True, label="Nachname") self.fields['mail'] = forms.EmailField(required=True, label="E-Mail") self.fields['agencyname'] = forms.CharField(required=True, label="Agenturname") - self.fields['vve'] = forms.CharField(required=False, label="VVE-Mitgliedsnummer") + self.fields['vve'] = forms.CharField(required=True, label="VVE-Mitgliedsnummer") self.fields['agb'] = forms.BooleanField(required=True, label="AGB's") self.fields['av'] = forms.BooleanField(required=True, label="Auftragsverarbeitung") + self.fields['captcha'] = CaptchaField(required=True, label="Bitte geben Sie die Symbole ein.") + \ No newline at end of file