~widelands-dev/widelands-website/django_staticfiles

« back to all changes in this revision

Viewing changes to wlhelp/search_indexes.py

  • Committer: Holger Rapp
  • Date: 2009-02-19 15:31:42 UTC
  • Revision ID: sirver@h566336-20090219153142-dc8xuabldnw5t395
Initial commit of new widelands homepage

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
from haystack import indexes
2
 
from wlhelp.models import Worker, Ware, Building
3
 
from haystack.fields import DateField
4
 
from datetime import date
5
 
 
6
 
 
7
 
class WorkerIndex(indexes.SearchIndex, indexes.Indexable):
8
 
 
9
 
    """Create a search index. Changes made here need to be reindexed. Defined
10
 
    fields are stored in the index, so when displaying the result the data is
11
 
    read from the index and do not hit the database.
12
 
 
13
 
    Except the 'text' field all defined fields will be in the index.
14
 
 
15
 
    'text' indicates the template where the concatenated data
16
 
           is gathered and the search runs over.
17
 
 
18
 
    """
19
 
 
20
 
    text = indexes.CharField(document=True, use_template=True)
21
 
    # To get date related search working
22
 
    # we assume the index is always up to date
23
 
    date = DateField(default=date.today())
24
 
    displayname = indexes.CharField(model_attr='displayname')
25
 
    help = indexes.CharField(model_attr='help')
26
 
 
27
 
    def get_model(self):
28
 
        return Worker
29
 
 
30
 
class WareIndex(indexes.SearchIndex, indexes.Indexable):
31
 
 
32
 
    text = indexes.CharField(document=True, use_template=True)
33
 
    # To get date related search working
34
 
    # we assume the index is always up to date 
35
 
    date = DateField(default=date.today())
36
 
    displayname = indexes.CharField(model_attr='displayname')
37
 
    help = indexes.CharField(model_attr='help')
38
 
 
39
 
    def get_model(self):
40
 
        return Ware
41
 
 
42
 
class BuildingIndex(indexes.SearchIndex, indexes.Indexable):
43
 
 
44
 
    text = indexes.CharField(document=True, use_template=True)
45
 
    # To get date related search working
46
 
    # we assume the index is always up to date
47
 
    date = DateField(default=date.today())
48
 
    displayname = indexes.CharField(model_attr='displayname')
49
 
    help = indexes.CharField(model_attr='help')
50
 
 
51
 
    def get_model(self):
52
 
        return Building