mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2025-04-17 07:55:12 +00:00
41 lines
1.6 KiB
Python
41 lines
1.6 KiB
Python
from typing import Any
|
|
from django import forms
|
|
from django.core.exceptions import ValidationError
|
|
from django.contrib.auth import authenticate
|
|
|
|
|
|
class CreateUserForm(forms.Form):
|
|
username = forms.CharField(label='Username')
|
|
password = forms.CharField(label='Password', widget=forms.PasswordInput)
|
|
password2 = forms.CharField(label='Confirm Password', widget=forms.PasswordInput) # Adicione este campo para a confirmação da senha
|
|
|
|
def clean(self):
|
|
cleaned_data = super().clean()
|
|
|
|
username = cleaned_data.get("username")
|
|
if username and ' ' in username:
|
|
self.add_error('username', ValidationError("Username cannot contain spaces."))
|
|
cleaned_data['username'] = username.lower()
|
|
password = cleaned_data.get("password")
|
|
password2 = cleaned_data.get("password2")
|
|
|
|
if password and password2 and password != password2:
|
|
self.add_error('password2', ValidationError("The two password fields didn't match."))
|
|
return cleaned_data
|
|
|
|
|
|
class LoginForm(forms.Form):
|
|
username = forms.CharField(label='Username')
|
|
password = forms.CharField(label='Password', widget=forms.PasswordInput)
|
|
|
|
def clean(self):
|
|
cleaned_data = super().clean()
|
|
username = cleaned_data.get("username")
|
|
password = cleaned_data.get("password")
|
|
if username and password:
|
|
user = authenticate(username=username, password=password)
|
|
if not user:
|
|
self.add_error(None, ValidationError("Invalid username or password."))
|
|
else:
|
|
self.add_error(None, ValidationError("Both fields are required."))
|
|
return cleaned_data |