oacpl/case_law/views.py
2017-09-13 22:03:27 -04:00

29 lines
870 B
Python

from django.shortcuts import render
from .models import Case, Heading
def browser(request):
path = request.GET.get('path')
cases = Case.objects.all()
if path:
path = path.split('/')
ids = Heading.objects.filter(name__in=path).values_list('id')
for id in ids:
cases = cases.filter(headings__in=id)
headings = set()
for decision in cases:
headings = headings | set(decision.headings.all().values_list('name', flat=True))
if path: headings = headings.difference(path)
return render(request, 'browser.html', {
'allHeadings': Heading.objects.all().order_by('name'),
'cases': cases.order_by('published'),
'caseCount': len(cases),
'headings': sorted(headings),
'headingCount': len(headings),
'url': request.GET.get('path'),
'urls': path
})