view gpp/weblinks/forms.py @ 145:71cb4208dc98

Tweak to #30, admin dashboard. Because of a bug in Django (9568), my dashboard appears on the login page. To get around this, pass in the user to the templatetag, so it can do a 'if user.is_staff' check. Also tweaked the HTML and CSS to show non-zero pending items in red. Shortened the pending item titles for readability.
author Brian Neal <bgneal@gmail.com>
date Wed, 09 Dec 2009 00:03:10 +0000
parents dbd703f7d63a
children b4305e18d3af
line wrap: on
line source
"""
Forms for the weblinks application.
"""

from django import forms
from weblinks.models import Link

class SearchForm(forms.Form):
   '''Weblinks search form'''
   text = forms.CharField(max_length = 30)

   def query(self):
      return self.cleaned_data['text']


class AddLinkForm(forms.ModelForm):
   title = forms.CharField(widget = forms.TextInput(attrs = {'size': 52}))
   url = forms.CharField(widget = forms.TextInput(attrs = {'size': 52}))

   def clean_url(self):
      new_url = self.cleaned_data['url']
      try:
         Link.objects.get(url__iexact = new_url)
      except Link.DoesNotExist:
         return new_url
      raise forms.ValidationError('That link already exists in our database.')

   class Meta:
      model = Link
      exclude = ('user', 'date_added', 'hits', 'is_public')