Mercurial > public > sg101
annotate gpp/custom_search/forms.py @ 469:3b30286adba5
Smarter search index updating for forums. This work is for #227.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Wed, 17 Aug 2011 01:02:08 +0000 |
parents | |
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) |