##// 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
Ilyas
Added creating new thread form...
r14 from django import forms
neko259
Added themes support. Added 'snow white' theme by Mystra_x64.
r35 from neboard import settings
Ilyas
Added creating new thread form...
r14
neko259
Added a text area to the posting form. Added a basic CSS style. Changed threads list a bit.
r16
neko259
Implemented form validation. When the form fails validation, showing the index page.
r29 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):
neko259
Fixed medadata design when an image is present. Added a method to determine if the tag is empty (has no attached threads).
r33 INVALID_TAG_CHARACTERS = ['+', '/', '&', '=', '?']
neko259
Changed metadata design. Make space split tags.
r31 tags = forms.CharField(max_length=100)
def clean_tags(self):
tags = self.cleaned_data['tags']
if tags:
neko259
Fixed medadata design when an image is present. Added a method to determine if the tag is empty (has no attached threads).
r33 for character in tags:
if character in self.INVALID_TAG_CHARACTERS:
raise forms.ValidationError(
'Inappropriate characters in tags')
neko259
Changed metadata design. Make space split tags.
r31
return tags
def clean(self):
cleaned_data = super(ThreadForm, self).clean()
neko259
Added themes support. Added 'snow white' theme by Mystra_x64.
r35 return cleaned_data
class SettingsForm(forms.Form):
theme = forms.ChoiceField(choices=settings.THEMES, widget=forms.RadioSelect)