Mercurial > public > sg101
diff downloads/forms.py @ 581:ee87ea74d46b
For Django 1.4, rearranged project structure for new manage.py.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 05 May 2012 17:10:48 -0500 |
parents | gpp/downloads/forms.py@88b2b9cb8c1f |
children | 21c592cac71c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/downloads/forms.py Sat May 05 17:10:48 2012 -0500 @@ -0,0 +1,38 @@ +""" +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'])