Mercurial > public > sg101
view gpp/downloads/forms.py @ 507:8631d32e6b16
Some users are still having problems with the pop-up login. I think they are actually getting 403s because of the CSRF protection. So I have modified the base template to always have a javascript variable called csrf_token available when they aren't logged in. The ajax_login.js script was then modified to send this value with the ajax post. Fingers crossed.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sun, 04 Dec 2011 03:05:21 +0000 |
parents | 88b2b9cb8c1f |
children |
line wrap: on
line source
""" Forms for the downloads application. """ import os from django import forms from django.conf import settings from downloads.models import PendingDownload from downloads.models import AllowedExtension class AddDownloadForm(forms.ModelForm): """Form to allow adding downloads.""" title = forms.CharField(required=True, widget=forms.TextInput(attrs={'size': 64, 'maxlength': 64})) description = forms.CharField(required=False, widget=forms.Textarea(attrs={'class': 'markItUp smileyTarget'})) def clean_file(self): file = self.cleaned_data['file'] ext = os.path.splitext(file.name)[1] allowed_exts = AllowedExtension.objects.get_extension_list() if ext in allowed_exts: return file raise forms.ValidationError('The file extension "%s" is not allowed.' % ext) class Meta: model = PendingDownload fields = ('title', 'category', 'description', 'file') class Media: css = { 'all': (settings.GPP_THIRD_PARTY_CSS['markitup'] + settings.GPP_THIRD_PARTY_CSS['jquery-ui']) } js = (settings.GPP_THIRD_PARTY_JS['markitup'] + settings.GPP_THIRD_PARTY_JS['jquery-ui'])