from django import forms
from forum.models import *
from django.utils.translation import ugettext as _
-from django.contrib.humanize.templatetags.humanize import apnumber
-from django.utils.safestring import mark_safe
-from general import NextUrlField, UserNameField, SetPasswordForm
+from django.utils.encoding import smart_unicode
+from general import NextUrlField, UserNameField
+
from forum import settings
from forum.modules import call_all_handlers
class TitleField(forms.CharField):
def __init__(self, *args, **kwargs):
super(TitleField, self).__init__(*args, **kwargs)
+
self.required = True
self.max_length = 255
self.widget = forms.TextInput(attrs={'size' : 70, 'autocomplete' : 'off', 'maxlength' : self.max_length})
self.initial = ''
def clean(self, value):
+ super(TitleField, self).clean(value)
+
if len(value) < settings.FORM_MIN_QUESTION_TITLE:
raise forms.ValidationError(_('title must be must be at least %s characters') % settings.FORM_MIN_QUESTION_TITLE)
class EditorField(forms.CharField):
def __init__(self, *args, **kwargs):
super(EditorField, self).__init__(*args, **kwargs)
+
self.widget = forms.Textarea(attrs={'id':'editor'})
self.label = _('content')
self.help_text = u''
def clean(self, value):
+ super(QuestionEditorField, self).clean(value)
+
if not bool(settings.FORM_EMPTY_QUESTION_BODY) and (len(re.sub('[ ]{2,}', ' ', value)) < settings.FORM_MIN_QUESTION_BODY):
raise forms.ValidationError(_('question content must be at least %s characters') % settings.FORM_MIN_QUESTION_BODY)
self.required = True
def clean(self, value):
+ super(AnswerEditorField, self).clean(value)
+
if len(re.sub('[ ]{2,}', ' ', value)) < settings.FORM_MIN_QUESTION_BODY:
raise forms.ValidationError(_('answer content must be at least %s characters') % settings.FORM_MIN_QUESTION_BODY)
class TagNamesField(forms.CharField):
def __init__(self, user=None, *args, **kwargs):
super(TagNamesField, self).__init__(*args, **kwargs)
+
self.required = True
self.widget = forms.TextInput(attrs={'size' : 50, 'autocomplete' : 'off'})
self.max_length = 255
self.user = user
def clean(self, value):
+ super(TagNamesField, self).clean(value)
+
value = super(TagNamesField, self).clean(value)
data = value.strip().lower()
date_format = '%c'
self.fields['revision'].choices = [
- (r[0], u'%s - %s (%s) %s' % (r[0], r[1], r[2].strftime(date_format), r[3]))
+ (r[0], u'%s - %s (%s) %s' % (r[0], smart_unicode(r[1]), r[2].strftime(date_format), r[3]))
for r in revisions]
self.fields['revision'].initial = post.active_revision.revision
if user.date_of_birth is not None:
self.fields['birthday'].initial = user.date_of_birth
- else:
- self.fields['birthday'].initial = '1990-01-01'
+
self.fields['about'].initial = user.about
self.user = user
def clean_email(self):
if self.user.email != self.cleaned_data['email']:
- if settings.EMAIL_UNIQUE == True:
+ if settings.EMAIL_UNIQUE:
if 'email' in self.cleaned_data:
from forum.models import User
try: