Mercurial > public > sg101
annotate gpp/weblinks/forms.py @ 515:ae89ba801e8b
For #194, convert the POTD management command to a celery task.
Refactored to put the logic for the command into a function, and the command simply calls this function. The task can also just call this function. Added some basic tests for the new function.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Wed, 14 Dec 2011 02:41:15 +0000 |
parents | d424b8bae71d |
children |
rev | line source |
---|---|
gremmie@1 | 1 """ |
gremmie@1 | 2 Forms for the weblinks application. |
gremmie@1 | 3 """ |
gremmie@1 | 4 |
gremmie@1 | 5 from django import forms |
bgneal@204 | 6 from weblinks.models import PendingLink, Link |
gremmie@1 | 7 |
gremmie@1 | 8 |
gremmie@1 | 9 class AddLinkForm(forms.ModelForm): |
gremmie@1 | 10 title = forms.CharField(widget = forms.TextInput(attrs = {'size': 52})) |
gremmie@1 | 11 url = forms.CharField(widget = forms.TextInput(attrs = {'size': 52})) |
gremmie@1 | 12 |
gremmie@1 | 13 def clean_url(self): |
gremmie@1 | 14 new_url = self.cleaned_data['url'] |
gremmie@1 | 15 try: |
gremmie@1 | 16 Link.objects.get(url__iexact = new_url) |
gremmie@1 | 17 except Link.DoesNotExist: |
gremmie@1 | 18 return new_url |
gremmie@1 | 19 raise forms.ValidationError('That link already exists in our database.') |
gremmie@1 | 20 |
gremmie@1 | 21 class Meta: |
bgneal@204 | 22 model = PendingLink |
bgneal@277 | 23 exclude = ('user', 'date_added', 'update_date') |