from django import forms
from apps.fornecedores.models import FornecedoresModels, Categoria

class CategoriaForm(forms.ModelForm):
    class Meta:
        model = Categoria
        fields = ['nome', 'observacao']

class FornecedoresForm(forms.ModelForm):
    class Meta:
        model = FornecedoresModels
        exclude = []

    categoria = forms.ModelChoiceField(
        queryset=Categoria.objects.all(),
        required=True,
        widget=forms.Select(attrs={"class": "form-select"})
    )

    cnpj = forms.CharField(
        label='CNPJ:',
        required=True,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "id": "cnpj",
                "placeholder": "123.456.789/0001-00",
            }
        )
    )
    inscricao_estadual = forms.CharField(
        label='Inscrição Estadual:',
        required=False,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "placeholder": "0123456789"
            }
        )
    )
    razao_social = forms.CharField(
        label='Razão Social:',
        required=False,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "placeholder": ""
            }
        )
    )
    nome_fantasia = forms.CharField(
        label='Nome Fantasia:',
        required=True,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "placeholder": ""
            }
        )
    )
    telefone_celular = forms.CharField(
        label='Tel. Movel:',
        required=False,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "placeholder": "(00) 0000-0000"
            }
        )
    )

    telefone_residencial = forms.CharField(
        label='Tel. Residencial:',
        required=False,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "id": "telefone_residencial",
                "placeholder": "(00) 0000-0000",
            }
        )
    )
    email = forms.CharField(
        label='Email:',
        required=False,
        max_length=100,
        widget=forms.EmailInput(
            attrs={
                "class": "form-control",
                "placeholder": "ama@viveiroama.com",
            }
        )
    )
    uf = forms.ChoiceField(
        label='UF:',
        required=False,
        choices=(
            ('', 'Selecione um estado'),
            ('BA', 'BA'),
            ('AC', 'AC'),
            ('AL', 'AL'),
            ('AP', 'AP'),
            ('AM', 'AM'),
            ('CE', 'CE'),
            ('DF', 'DF'),
            ('ES', 'ES'),
            ('GO', 'GO'),
            ('MA', 'MA'),
            ('MT', 'MT'),
            ('MS', 'MS'),
            ('MG', 'MG'),
            ('PA', 'PA'),
            ('PB', 'PB'),
            ('PR', 'PR'),
            ('PE', 'PE'),
            ('PI', 'PI'),
            ('RJ', 'RJ'),
            ('RN', 'RN'),
            ('RS', 'RS'),
            ('RO', 'RO'),
            ('RR', 'RR'),
            ('SC', 'SC'),
            ('SP', 'SP'),
            ('SE', 'SE'),
            ('TO', 'TO')),
        widget=forms.Select(
            attrs={
                "class": "form-select",
                "id": "uf",
            }
        ),
    )
    cidade = forms.CharField(
        label='Cidade:',
        required=False,
        max_length=200,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "id": "cidade",
            }
        )
    )
    endereco = forms.CharField(
        label='Endereço:',
        required=False,
        max_length=200,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control col-sm-4",
                "id": "endereco",
                "placeholder": "Rua / AV / QD",
            }
        )
    )
    bairro = forms.CharField(
        label='Bairro:',
        required=False,
        max_length=200,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "id": "bairro",
            }
        )
    )
    complemento = forms.CharField(
        label='Complemento:',
        required=False,
        max_length=200,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "id": "complemento",
            }
        )
    )
    cep = forms.CharField(
        label='CEP:',
        required=False,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "id": "cep",
                "placeholder": "00000-000",
            }
        )
    )
    contato_responsavel = forms.CharField(
        label='Tel. Responsavel:',
        required=False,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "placeholder": "(00) 0000-0000",
            }
        )
    )
    nome_responsavel = forms.CharField(
        label='Nome do Responsavel:',
        required=False,
        max_length=100,
        widget=forms.TextInput(
            attrs={
                "type": "text",
                "class": "form-control",
                "placeholder": ""
            }
        )
    )
