HiLo/homepage/forms.py
2020-08-27 00:34:33 -04:00

35 lines
1.6 KiB
Python

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']