from django import forms
from django.contrib.auth.forms import UserCreationForm

from .models import Participant


class RegistrationForm(UserCreationForm):
    class Meta:
        model = Participant
        fields = ("username", "email", "password1", "password2")

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        for field in self.fields.values():
            field.widget.attrs.update({"class": "form-control"})


class ParticipantForm(forms.ModelForm):
    class Meta:
        model = Participant
        fields = ("name", "student_class", "age", "gender", "institution")
        widgets = {
            "gender": forms.Select(
                choices=(
                    ("", "Select Gender"),
                    ("Male", "Male"),
                    ("Female", "Female"),
                    ("Other", "Other"),
                )
            )
        }

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        for field in self.fields.values():
            field.widget.attrs.update({"class": "form-control"})