Source code for oioioi.forum.forms

from django import forms
from django.utils.translation import gettext_lazy as _

from oioioi.forum.models import Ban, Post, Thread


[docs]class PostForm(forms.ModelForm):
[docs] class Meta(object):
[docs] model = Post
[docs] fields = ['content']
def __init__(self, request, *args, **kwargs): super(PostForm, self).__init__(*args, **kwargs) self.fields['content'].widget.attrs['class'] = 'monospace'
[docs]class NewThreadForm(forms.ModelForm):
[docs] class Meta(object):
[docs] model = Thread
[docs] fields = ['name']
[docs] content = forms.CharField(widget=forms.Textarea, required=True)
def __init__(self, request, *args, **kwargs): super(NewThreadForm, self).__init__(*args, **kwargs) self.fields['name'].label = _("Topic") self.fields['name'].widget.attrs['class'] = 'monospace' self.fields['content'].widget.attrs['class'] = 'monospace'
[docs]class BanForm(forms.ModelForm):
[docs] class Meta(object):
[docs] model = Ban
[docs] fields = ['reason']
[docs] delete_reports = forms.BooleanField( widget=forms.CheckboxInput(), label=_("Remove user reports"), required=False )
def __init__(self, *args, **kwargs): super(BanForm, self).__init__(*args, **kwargs) self.fields['reason'].label = _("Reason") self.fields['reason'].widget.attrs['class'] = 'monospace'
[docs]class ReportForm(forms.ModelForm):
[docs] class Meta(object):
[docs] model = Post
[docs] fields = ['report_reason']
def __init__(self, *args, **kwargs): super(ReportForm, self).__init__(*args, **kwargs) self.fields['report_reason'].label = _("Reason") self.fields['report_reason'].widget.attrs['class'] = 'monospace non-resizable'