from django import forms
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit, Layout, Fieldset, ButtonHolder, Button, Div
from crispy_forms.bootstrap import FormActions, InlineRadios
from django.urls import reverse
from .models import Players

class TeamForm(forms.ModelForm):
    paid = forms.TypedChoiceField(
        label = "Has Entry Been Paid?",
        choices = (('YES', 'Yes'), ('NO', 'No')),
        widget = forms.RadioSelect,
        required = True,
    )
    class Meta:
        model = Players
        fields = ('paid', 'p1_name', 'p1_id', 'p2_name', 'p2_id', 'email', 'phone')


    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_method = 'post'
        self.helper.form_class = 'form-inline'
        self.helper.layout = Layout(
            Fieldset(
                'Update Team Details',
                Div(
                    InlineRadios('paid'),
                    Div(
                        Div(
                            'p1_name',
                            css_class = "form-group col-sm-4"
                        ),
                        Div(
                            'p1_id',
                            css_class = "form-group col-sm-2"
                        ),
                        css_class = "row"
                    ),
                    Div(
                        Div(
                            'p2_name',
                            css_class = "form-group col-sm-4"
                        ),
                        Div(
                            'p2_id',
                            css_class = "form-group col-sm-2"
                        ),
                        css_class = "row"
                    ),
                    Div(
                        Div(
                            'email',
                            css_class = "form-group col-sm-4"
                        ),
                        Div(
                            'phone',
                            css_class = "form-group col-sm-2"
                        ),
                        css_class = "row"
                    ),
                    css_class = "col-sm-12 text-left"
                )
            ),
            FormActions(
                Submit('submit', 'Update'),
                Button('cancel', 'Cancel', css_class='btn-primary',
                             onclick="window.location.href = '{}';".format(reverse('entries:teams-index')))
            )
        )