forms.py 1.21 KB
from django import forms
from django.utils.translation import ugettext_lazy as _
from users.models import User
from .models import Poll

class PollForm(forms.ModelForm):

    def __init__(self, *args, **kwargs):
        super(PollForm, self).__init__(*args, **kwargs)
        self.fields["all_students"].required = False
        self.fields["all_students"].initial = False
        self.fields["students"].required = False

    def clean_all_students(self):
        if('all_students' not in self.data):
            if('students' in self.data):
                return False
            raise forms.ValidationError(_('It is required one these fields.'))
        else:
            all_students = self.data['all_students']
            if(not all_students):
                raise forms.ValidationError(_('It is required one these fields.'))
        return True


    class Meta:
        model = Poll
        fields = ['name','limit_date','students','all_students']

        widgets = {
            'name': forms.TextInput(attrs={'placeholder': 'Question?'}),
            'limit_date': forms.DateTimeInput(
                attrs={'placeholder': 'Maximum date permited to resolve the poll'}),
            'student': forms.Select(),
        }