from django import forms from .models import InvitationCode, CustomUser class InvitationCodeForm(forms.Form): code = forms.CharField(max_length=255, label="Einladungscode") def clean_code(self): code = self.cleaned_data.get('code') try: invitation_code = InvitationCode.objects.get(code=code) if not invitation_code.is_valid(): raise forms.ValidationError("Dieser Einladungscode ist nicht mehr gültig.") except InvitationCode.DoesNotExist: raise forms.ValidationError("Ungültiger Einladungscode.") return code class CustomUserCreationForm(forms.ModelForm): password = forms.CharField(widget=forms.PasswordInput) birth_date = forms.DateField(input_formats=['%d.%m.%Y', '%Y-%m-%d'], widget=forms.DateInput(format='%d.%m.%Y', attrs={'type': 'date'})) class Meta: model = CustomUser fields = ('username', 'first_name', 'last_name', 'email', 'birth_date', 'player_number', 'password') class CustomUserChangeForm(forms.ModelForm): birth_date = forms.DateField(input_formats=['%d.%m.%Y', '%Y-%m-%d'], widget=forms.DateInput(format='%d.%m.%Y', attrs={'type': 'date'})) class Meta: model = CustomUser fields = ('username', 'first_name', 'last_name', 'email', 'birth_date', 'player_number', 'team') class PlayerCreationForm(forms.ModelForm): parent1_search = forms.CharField(label="Search Parent 1 by Username/Email", required=False) parent1_new = forms.EmailField(label="Or create new Parent 1 with Email", required=False) parent2_search = forms.CharField(label="Search Parent 2 by Username/Email", required=False) parent2_new = forms.EmailField(label="Or create new Parent 2 with Email", required=False) birth_date = forms.DateField(input_formats=['%d.%m.%Y', '%Y-%m-%d'], widget=forms.DateInput(format='%d.%m.%Y', attrs={'type': 'date'})) class Meta: model = CustomUser fields = ('username', 'first_name', 'last_name', 'email', 'birth_date', 'player_number', 'team')