annotate gpp/custom_search/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 3b30286adba5
children
rev   line source
bgneal@469 1 """
bgneal@469 2 This module contains custom forms to tailor the Haystack search application to
bgneal@469 3 our needs.
bgneal@469 4
bgneal@469 5 """
bgneal@469 6 from django import forms
bgneal@469 7 from haystack.forms import ModelSearchForm
bgneal@469 8
bgneal@469 9
bgneal@469 10 MODEL_CHOICES = (
bgneal@469 11 ('forums.topic', 'Forum Topics'),
bgneal@469 12 ('forums.post', 'Forum Posts'),
bgneal@469 13 ('news.story', 'News Stories'),
bgneal@469 14 ('bio.userprofile', 'User Profiles'),
bgneal@469 15 ('weblinks.link', 'Links'),
bgneal@469 16 ('downloads.download', 'Downloads'),
bgneal@469 17 ('podcast.item', 'Podcasts'),
bgneal@469 18 ('ygroup.post', 'Yahoo Group Archives'),
bgneal@469 19 )
bgneal@469 20
bgneal@469 21
bgneal@469 22 class CustomModelSearchForm(ModelSearchForm):
bgneal@469 23 """
bgneal@469 24 This customized ModelSearchForm allows us to explictly label and order
bgneal@469 25 the model choices.
bgneal@469 26
bgneal@469 27 """
bgneal@469 28 q = forms.CharField(required=False, label='',
bgneal@469 29 widget=forms.TextInput(attrs={'class': 'text', 'size': 48}))
bgneal@469 30
bgneal@469 31 def __init__(self, *args, **kwargs):
bgneal@469 32 super(CustomModelSearchForm, self).__init__(*args, **kwargs)
bgneal@469 33 self.fields['models'] = forms.MultipleChoiceField(choices=MODEL_CHOICES,
bgneal@469 34 label='', widget=forms.CheckboxSelectMultiple)