from django import forms
from django.contrib.auth.models import User
from profanity.validators import validate_is_profane
from .models import Answer, Location, Poll, EMOTION_CHOICES

class PollForm(forms.ModelForm):
	hi = forms.CharField(max_length=200, validators=[validate_is_profane], required=False)
	lo = forms.CharField(max_length=200, validators=[validate_is_profane], required=False)
	emotion = forms.ChoiceField(widget=forms.RadioSelect, choices=EMOTION_CHOICES, required=False)
	name = forms.CharField(max_length=100, validators=[validate_is_profane], required=False)
	place = forms.CharField(max_length=100, validators=[validate_is_profane], required=False)
	question = forms.CharField(max_length=200, validators=[validate_is_profane], required=False)

	def __init__(self, *args, **kwargs):
		super(PollForm, self).__init__(*args, **kwargs)
		self.initial['emotion'] = 'meh'
		self.fields['emotion'] = forms.ChoiceField(widget=forms.RadioSelect, choices=EMOTION_CHOICES)

	class Meta:
		model = Answer
		fields = ['hi', 'lo', 'emotion', 'name', 'place','question']

class LocationForm (forms.ModelForm):

	class Meta:
		model = Location
		fields = ['name', 'insta']

class CreatePollForm (forms.ModelForm):
	ask_question = forms.BooleanField(label="Ask extra question", required=False)
	question_text = forms.CharField(label="Extra question text (leave blank if no extra question)", max_length=100, required=False)

	class Meta:
		model = Poll
		fields = ['ask_hi','hi_text','ask_lo','lo_text','ask_emotion','emotion_text','ask_name','name_text','ask_place','place_text','ask_question','question_text']