move path parsing to facets

pull/1/head
eric 2014-12-05 18:36:45 -05:00
parent da7f0ad71c
commit 70d4506365
2 changed files with 9 additions and 5 deletions

View File

@ -127,6 +127,13 @@ def get_facet(facet_name):
return facet_group.get_facet_class(facet_name)
return BaseFacet
def get_facet_object(facet_path):
facets = facet_path.replace('//','/').strip('/').split('/')
facet_object = None
for facet in facets:
facet_object = get_facet(facet)(facet_object)
return facet_object
order_by_keys = {
'newest':['-featured', '-created'],
'oldest':['created'],

View File

@ -79,7 +79,7 @@ from regluit.core.search import gluejar_search
from regluit.core.signals import supporter_message
from regluit.core.tasks import send_mail_task, emit_notifications, watermark_acq
from regluit.core.parameters import *
from regluit.core.facets import get_facet, get_order_by
from regluit.core.facets import get_facet_object, get_order_by
from regluit.frontend.forms import (
UserData,
@ -853,10 +853,7 @@ class FacetedView(FilterableListView):
def get_queryset_all(self):
if not hasattr(self,'vertex'):
facet_path = self.kwargs.get('path', '')
facets = facet_path.replace('//','/').strip('/').split('/')
self.vertex = None
for facet in facets:
self.vertex = get_facet(facet)(self.vertex)
self.vertex = get_facet_object(facet_path)
order_by = self.request.GET.get('order_by', 'newest')
return self.vertex.get_query_set().distinct().order_by(*get_order_by(order_by))