Merge pull request #20 from makes-hacks-hip/honeypot_field

honeypot field
This commit is contained in:
Thomas Irgang 2023-04-23 12:22:54 +02:00 committed by GitHub
commit 9b8ecba15d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 52 additions and 0 deletions

View file

@ -1,4 +1,21 @@
from django import forms
from django.core.exceptions import ValidationError
class HoneypotField(forms.BooleanField):
default_widget = forms.CheckboxInput(
{'style': 'display:none !important;', 'tabindex': '-1', 'autocomplete': 'off'})
def __init__(self, *args, **kwargs):
kwargs.setdefault('widget', HoneypotField.default_widget)
kwargs['required'] = False
super().__init__(*args, **kwargs)
def clean(self, value):
if cleaned_value := super().clean(value):
raise ValidationError('')
else:
return cleaned_value
class RegisterDevice(forms.Form):
@ -48,6 +65,7 @@ class RegisterDevice(forms.Form):
"Datenschutzerklärung</a> einverstanden.",
required=True
)
accept_agb = HoneypotField(label="")
class RegisterGuest(forms.Form):
@ -64,3 +82,4 @@ class RegisterGuest(forms.Form):
label="Wohnort",
max_length=200
)
accept_agb = HoneypotField(label="")

View file

@ -0,0 +1,33 @@
# Generated by Django 4.2 on 2023-04-23 10:09
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('repapp', '0012_remove_device_secret_remove_guest_confirmed_and_more'),
]
operations = [
migrations.AlterField(
model_name='cafe',
name='address',
field=models.CharField(max_length=200, verbose_name='Adresse'),
),
migrations.AlterField(
model_name='device',
name='device',
field=models.CharField(max_length=200, verbose_name='Art des Geräts'),
),
migrations.AlterField(
model_name='device',
name='error',
field=models.TextField(verbose_name='Fehlerbeschreibung'),
),
migrations.AlterField(
model_name='device',
name='manufacturer',
field=models.CharField(max_length=200, verbose_name='Hersteller & Modell/Typ'),
),
]