Merge pull request #20 from makes-hacks-hip/honeypot_field
honeypot field
This commit is contained in:
commit
9b8ecba15d
2 changed files with 52 additions and 0 deletions
|
|
@ -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="")
|
||||
|
|
|
|||
|
|
@ -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'),
|
||||
),
|
||||
]
|
||||
Reference in a new issue