Mercurial > public > sg101
annotate gpp/bio/search_indexes.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 | d83296cac940 |
children | 387d46abcb95 |
rev | line source |
---|---|
bgneal@223 | 1 """Haystack search index for the bio application.""" |
bgneal@223 | 2 from haystack.indexes import * |
bgneal@223 | 3 from haystack import site |
bgneal@469 | 4 from custom_search.indexes import CondQueuedSearchIndex |
bgneal@223 | 5 |
bgneal@223 | 6 from bio.models import UserProfile |
bgneal@471 | 7 from bio.signals import profile_content_update |
bgneal@223 | 8 |
bgneal@223 | 9 |
bgneal@467 | 10 class UserProfileIndex(CondQueuedSearchIndex): |
bgneal@223 | 11 text = CharField(document=True, use_template=True) |
bgneal@223 | 12 author = CharField(model_attr='user') |
bgneal@223 | 13 |
bgneal@223 | 14 def get_queryset(self): |
bgneal@223 | 15 return UserProfile.objects.filter(user__is_active=True) |
bgneal@223 | 16 |
bgneal@277 | 17 def get_updated_field(self): |
bgneal@277 | 18 return 'update_date' |
bgneal@277 | 19 |
bgneal@471 | 20 def _setup_save(self, model): |
bgneal@471 | 21 profile_content_update.connect(self.enqueue_save) |
bgneal@471 | 22 |
bgneal@471 | 23 def _teardown_save(self, model): |
bgneal@471 | 24 profile_content_update.disconnect(self.enqueue_save) |
bgneal@471 | 25 |
bgneal@471 | 26 def enqueue_save(self, sender, **kwargs): |
bgneal@471 | 27 return self.enqueue('update', sender) |
bgneal@471 | 28 |
bgneal@467 | 29 def can_index(self, instance): |
bgneal@467 | 30 return instance.user.is_active |
bgneal@467 | 31 |
bgneal@223 | 32 |
bgneal@223 | 33 site.register(UserProfile, UserProfileIndex) |