""" Forms for the security app — MFA setup, verification, and device management. """ from django import forms class MFASetupForm(forms.Form): """Verify OTP code during TOTP setup.""" otp_code = forms.CharField( max_length=6, min_length=6, widget=forms.TextInput( attrs={ "class": "form-input", "placeholder": "000000", "autocomplete": "one-time-code", "id": "mfa-otp-code", "pattern": "[0-9]{6}", "inputmode": "numeric", } ), ) class MFAVerifyForm(forms.Form): """Verify OTP code during login.""" otp_code = forms.CharField( max_length=6, min_length=6, widget=forms.TextInput( attrs={ "class": "form-input", "placeholder": "000000", "autocomplete": "one-time-code", "id": "mfa-verify-code", "pattern": "[0-9]{6}", "inputmode": "numeric", } ), ) trust_device = forms.BooleanField(required=False) class BackupCodeForm(forms.Form): """Verify a backup code for MFA recovery.""" backup_code = forms.CharField( max_length=9, widget=forms.TextInput( attrs={ "class": "form-input", "placeholder": "XXXX-XXXX", "id": "backup-code", } ), )