Mercurial > public > sg101
view gpp/downloads/forms.py @ 210:77b606e0ad5f
Fix #78: improve the download upload_to path.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Fri, 07 May 2010 02:56:49 +0000 |
parents | b4305e18d3af |
children | 27bee3ac85e6 |
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 SearchForm(forms.Form): """Downloads search form.""" text = forms.CharField(max_length=30) def query(self): return self.cleaned_data['text'] 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'])