annotate custom_search/forms.py @ 631:f36d1a168be7
For issue 27, disable login dialog button during POST.
This seems to prevent multiple logins most of the time. You can
still bang on the enter key and sometimes get more through.
author |
Brian Neal <bgneal@gmail.com> |
date |
Wed, 14 Nov 2012 20:57:05 -0600 |
parents |
ee87ea74d46b |
children |
99d7bf8cd712 |
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)
|