def breadcrumbs(request, context={}, resolver_match=None, path=None): if path.endswith('/'): path = path[:-1] if path != request.path: return obj = context['object'] breadcrumb_list = [] while isinstance(obj, IndexableFedoraObject): object_id = id_from_path(obj.pk, initkwargs.get('fedora_prefix', None)) if object_id: breadcrumb_list.insert(0, ( reverse('%s:%s' % (resolver_match.app_name, resolver_match.url_name), kwargs={'id': object_id}), str(rdf2lang(obj.title)) )) else: # reached root of the portion of repository given by fedora_prefix break parent_id = obj.fedora_parent_uri if parent_id: obj = FedoraObject.objects.get(pk=parent_id) else: # reached root of the repository break return breadcrumb_list
def _convert(name, value): if name == 'pk' or name == 'id': return id_from_path(value) return value
def _convert(name, value, fedora_prefix=None): if name == 'pk' or name == 'id': return id_from_path(value, fedora_prefix=fedora_prefix) return value
def _convert(name, value): if name == 'pk' or name == 'id': return id_from_path(value) return value
def _convert(name, value, fedora_prefix=None): if name == 'pk' or name == 'id': return id_from_path(value, fedora_prefix=fedora_prefix) return value