from django.forms import ModelForm, Form, CharField, EmailField, ModelChoiceField
from .models import Suggestion, Author


class SuggestionForm(ModelForm):
    class Meta:
        model = Suggestion
        fields = ["text", "context", "author_name"]

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.fields['suggester_name'] = CharField(
            label='Tu nombre')
        self.fields['suggester_name'].widget.attrs['placeholder'] = "Pepito Grillo"

        self.fields['suggester_email'] = EmailField(
            label='Tu email')
        self.fields['suggester_email'].widget.attrs['placeholder'] = "pepitog@fakemail.com"

        # Change labels to spanish
        self.fields['text'].label = "Cita"
        self.fields['text'].widget.attrs['placeholder'] = "¡Vamos que nos pilla el comunismo!"
        self.fields['context'].label = "Contexto"
        self.fields['context'].widget.attrs['placeholder'] = "Estaba tardando mucho en hacerle caso a Lázaro"
        self.fields['author_name'].label = "Nombre de la persona que citas"
        self.fields['author_name'].widget.attrs['placeholder'] = "Lázaro"


class AuthorSelectionForm(Form):
    author = ModelChoiceField(
        queryset=Author.objects.all(), empty_label="Selecciona un autor")