123456789101112131415161718192021222324252627 |
- from misago.decorators import block_crawlers
- from misago.models import Post
- from misago.apps.errors import error404
- from misago.apps.search.views import do_search, results
- def allow_search(f):
- def decorator(*args, **kwargs):
- request = args[0]
- if not (request.acl.private_threads.can_participate()
- and request.settings['enable_private_threads']):
- return error404()
- return f(*args, **kwargs)
- return decorator
- @block_crawlers
- @allow_search
- def search_private_threads(request):
- threads = [t.pk for t in request.user.private_thread_set.all()]
- queryset = Post.objects.filter(thread_id__in=threads)
- return do_search(request, queryset, 'private_threads')
- @block_crawlers
- @allow_search
- def show_private_threads_results(request, page=0):
- return results(request, page, 'private_threads')
|