Commit eafda855 by Tom Christie

Fix up breadcrumbs to only breadcrumb for REST framework Views

parent 370274f5
...@@ -19,11 +19,11 @@ class NestedResourceInstance(View): ...@@ -19,11 +19,11 @@ class NestedResourceInstance(View):
pass pass
urlpatterns = patterns('', urlpatterns = patterns('',
url(r'^$', Root), url(r'^$', Root.as_view()),
url(r'^resource/$', ResourceRoot), url(r'^resource/$', ResourceRoot.as_view()),
url(r'^resource/(?P<key>[0-9]+)$', ResourceInstance), url(r'^resource/(?P<key>[0-9]+)$', ResourceInstance.as_view()),
url(r'^resource/(?P<key>[0-9]+)/$', NestedResourceRoot), url(r'^resource/(?P<key>[0-9]+)/$', NestedResourceRoot.as_view()),
url(r'^resource/(?P<key>[0-9]+)/(?P<other>[A-Za-z]+)$', NestedResourceInstance), url(r'^resource/(?P<key>[0-9]+)/(?P<other>[A-Za-z]+)$', NestedResourceInstance.as_view()),
) )
......
...@@ -4,6 +4,8 @@ from djangorestframework.utils.description import get_name ...@@ -4,6 +4,8 @@ from djangorestframework.utils.description import get_name
def get_breadcrumbs(url): def get_breadcrumbs(url):
"""Given a url returns a list of breadcrumbs, which are each a tuple of (name, url).""" """Given a url returns a list of breadcrumbs, which are each a tuple of (name, url)."""
from djangorestframework.views import View
def breadcrumbs_recursive(url, breadcrumbs_list): def breadcrumbs_recursive(url, breadcrumbs_list):
"""Add tuples of (name, url) to the breadcrumbs list, progressively chomping off parts of the url.""" """Add tuples of (name, url) to the breadcrumbs list, progressively chomping off parts of the url."""
...@@ -12,7 +14,8 @@ def get_breadcrumbs(url): ...@@ -12,7 +14,8 @@ def get_breadcrumbs(url):
except: except:
pass pass
else: else:
if callable(view): # Check if this is a REST framework view, and if so add it to the breadcrumbs
if isinstance(getattr(view, 'cls_instance', None), View):
breadcrumbs_list.insert(0, (get_name(view), url)) breadcrumbs_list.insert(0, (get_name(view), url))
if url == '': if url == '':
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment