mirror of
https://github.com/deunix-educ/Fail2banMqttActionBanishment.git
synced 2026-08-24 03:11:58 +02:00
25 lines
888 B
Python
25 lines
888 B
Python
from django import forms
|
|
|
|
from .models import EnrollmentRequest
|
|
|
|
|
|
class EnrollmentRequestForm(forms.ModelForm):
|
|
"""Formulaire public de /communaute/. `website` n'est pas un champ du
|
|
modèle (absent de Meta.fields, jamais sauvegardé) — honeypot anti-spam
|
|
classique : caché par CSS côté template, un humain ne le remplit
|
|
jamais, un bot qui remplit tout aveuglément si. Rempli => la vue
|
|
ignore silencieusement la soumission, sans message d'erreur (ne pas
|
|
indiquer au bot qu'il a été détecté)."""
|
|
|
|
website = forms.CharField(required=False, widget=forms.HiddenInput)
|
|
|
|
class Meta:
|
|
model = EnrollmentRequest
|
|
fields = ['email', 'node_name', 'country', 'message']
|
|
widgets = {
|
|
'message': forms.Textarea(attrs={'rows': 4}),
|
|
}
|
|
|
|
def is_spam(self) -> bool:
|
|
return bool(self.cleaned_data.get('website'))
|