"""File containing webapp forms.""" from django import forms from django.utils.translation import ugettext_lazy as _ from django.core.exceptions import ValidationError from webapp.models import CustomKaehmyRole, PresetKaehmyRole from webapp.models import OhlhafvChallenge, KaehmyForm, KaehmyMessage class KaehmyForm_Form(forms.ModelForm): """Class representing Kaehmy form.""" class Meta: """Meta for class KaehmyForm.""" model = KaehmyForm fields = ['name', 'email', 'phone_number', 'year', 'preset_roles', 'custom_roles', 'custom_role_name', 'custom_role_is_board', 'text'] def __init__(self, *args, **kwargs): super(KaehmyForm_Form, self).__init__(*args, **kwargs) self.fields["custom_roles"].widget = forms.widgets.CheckboxSelectMultiple() self.fields["custom_roles"].help_text = "" self.fields["custom_roles"].queryset = CustomKaehmyRole.objects.all() self.fields["preset_roles"].widget = forms.widgets.CheckboxSelectMultiple() self.fields["preset_roles"].help_text = "" self.fields["preset_roles"].queryset = PresetKaehmyRole.objects.all() def clean_phone_number(self): """Clean phone number field.""" number = self.cleaned_data.get('phone_number') if number.isdigit(): return number else: raise ValidationError(_('Invalid value')) class KaehmyCommentForm(forms.ModelForm): class Meta: model = KaehmyMessage fields = ['name', 'email', 'message', 'parent'] class OhlhafvForm(forms.ModelForm): """Class representing Ohlhafv form.""" class Meta: """Meta class for Ohlhafv form.""" model = OhlhafvChallenge fields = ['challenger', 'challenger_email', 'victim', 'victim_email', 'series', 'message']