Beispiel #1
0
        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
Beispiel #2
0
def _convert(name, value):
    if name == 'pk' or name == 'id':
        return id_from_path(value)
    return value
Beispiel #3
0
def _convert(name, value, fedora_prefix=None):
    if name == 'pk' or name == 'id':
        return id_from_path(value, fedora_prefix=fedora_prefix)
    return value
Beispiel #4
0
def _convert(name, value):
    if name == 'pk' or name == 'id':
        return id_from_path(value)
    return value
Beispiel #5
0
def _convert(name, value, fedora_prefix=None):
    if name == 'pk' or name == 'id':
        return id_from_path(value, fedora_prefix=fedora_prefix)
    return value