##// END OF EJS Templates
Updated the Snow White theme. Scroll to the new post after posting to thread.
Updated the Snow White theme. Scroll to the new post after posting to thread.

File last commit:

r35:4962ee48 default
r41:68192446 default
Show More
forms.py
61 lines | 1.8 KiB | text/x-python | PythonLexer
from django import forms
from neboard import settings
class PostForm(forms.Form):
MAX_TEXT_LENGTH = 10000
MAX_IMAGE_SIZE = 8 * 1024 * 1024
title = forms.CharField(max_length=50, required=False)
text = forms.CharField(widget=forms.Textarea, required=False)
image = forms.ImageField(required=False)
def clean_text(self):
text = self.cleaned_data['text']
if text:
if len(text) > self.MAX_TEXT_LENGTH:
raise forms.ValidationError('Too many text')
return text
def clean_image(self):
image = self.cleaned_data['image']
if image:
if image._size > self.MAX_IMAGE_SIZE:
raise forms.ValidationError('Too large image: more than ' +
str(self.MAX_IMAGE_SIZE) + ' bytes')
return image
def clean(self):
cleaned_data = super(PostForm, self).clean()
text = cleaned_data.get('text')
image = cleaned_data.get('image')
if (not text) and (not image):
raise forms.ValidationError('Enter either text or image')
return cleaned_data
class ThreadForm(PostForm):
INVALID_TAG_CHARACTERS = ['+', '/', '&', '=', '?']
tags = forms.CharField(max_length=100)
def clean_tags(self):
tags = self.cleaned_data['tags']
if tags:
for character in tags:
if character in self.INVALID_TAG_CHARACTERS:
raise forms.ValidationError(
'Inappropriate characters in tags')
return tags
def clean(self):
cleaned_data = super(ThreadForm, self).clean()
return cleaned_data
class SettingsForm(forms.Form):
theme = forms.ChoiceField(choices=settings.THEMES, widget=forms.RadioSelect)