##// END OF EJS Templates
Decreased popup image border size. Speed up fade effect of the popup.
Decreased popup image border size. Speed up fade effect of the popup.

File last commit:

r57:dcbc67f3 default
r64:35dab848 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)