search.py 635 B

12345678910111213141516171819202122
  1. from misago.models import Forum, Post
  2. from misago.acl.exceptions import ACLError404
  3. from misago.apps.search.views import SearchBaseView, ResultsBaseView
  4. class SearchReportsMixin(object):
  5. search_route = 'reports_search'
  6. results_route = 'reports_results'
  7. def check_acl(self):
  8. if not self.request.acl.reports.can_handle():
  9. raise ACLError404()
  10. def queryset(self):
  11. return Post.objects.filter(forum=Forum.objects.special_pk('reports'))
  12. class SearchView(SearchReportsMixin, SearchBaseView):
  13. pass
  14. class ResultsView(SearchReportsMixin, ResultsBaseView):
  15. pass