Example #1
0
 def items(self):
     """
     Return all published items for models that subclass
     ``Displayable``, excluding those that point to external sites.
     """
     # Fake homepage object.
     home = Displayable()
     setattr(home, "get_absolute_url", home_slug)
     items = {home.get_absolute_url(): home}
     for model in get_models():
         if issubclass(model, Displayable):
             for item in (model.objects.published().filter(in_sitemap=True)
                          .exclude(slug__startswith="http://")
                          .exclude(slug__startswith="https://")):
                 items[item.get_absolute_url()] = item
     return items.values()
Example #2
0
 def items(self):
     """
     Return all published items for models that subclass
     ``Displayable``, excluding those that point to external sites.
     """
     # Fake homepage object.
     home = Displayable()
     setattr(home, "get_absolute_url", home_slug)
     items = {home.get_absolute_url(): home}
     for model in get_models():
         if issubclass(model, Displayable):
             for item in (model.objects.published().filter(in_sitemap=True)
                          .exclude(slug__startswith="http://")
                          .exclude(slug__startswith="https://")):
                 items[item.get_absolute_url()] = item
     return items.values()
Example #3
0
def search_filter(request, query, filter=None, page=1):
    results = get_search_results(query, filter, page)

    result_types = [subclass.__name__ for subclass in Displayable.__subclasses__() if "pari" in subclass.__module__]

    return render_dajax_response('article/includes/search_result_list.html', {'results': results,
                                                                              'query': query,
                                                                              'filter': filter,
                                                                              'result_types': result_types,
                                                                              'request': request})
Example #4
0
 def get_context_data(self, **kwargs):
     context = super(SearchList, self).get_context_data(**kwargs)
     context['result_types'] = [subclass.__name__ for subclass in Displayable.__subclasses__() if "pari" in subclass.__module__]
     context['filter'] = self.request.GET.get('filter')
     context['query'] = self.request.GET.get('query')
     return context
Example #5
0
def get_result_types(filter, display_count=4):
    return [subclass.__name__ for subclass in
            sorted([subclass for subclass in Displayable.__subclasses__()
                    if "pari" in subclass.__module__ and is_searchable(subclass)],
            key=lambda x: type_sort_order(x, filter, display_count), reverse=True)]