Coverage for apis_core/core/templatetags/core.py: 85%
26 statements
« prev ^ index » next coverage.py v7.5.3, created at 2026-03-06 11:42 +0000
« prev ^ index » next coverage.py v7.5.3, created at 2026-03-06 11:42 +0000
1from django import template
2from django.conf import settings
4from apis_core import __version__
6register = template.Library()
9@register.simple_tag
10def page_range(paginator, number):
11 return paginator.get_elided_page_range(number=number)
14@register.filter
15def opts(obj):
16 return obj._meta
19@register.filter
20def model_meta(content_type, field):
21 return getattr(content_type.model_class()._meta, field)
24@register.simple_tag
25def apis_version():
26 return __version__
29@register.simple_tag
30def git_repository_url():
31 return getattr(
32 settings, "GIT_REPOSITORY_URL", "https://github.com/acdh-oeaw/apis-core-rdf/"
33 )
36@register.simple_tag
37def get_model_fields(
38 model, include_parents=True, include_hidden=False, exclude_parent_links=True
39):
40 """
41 Return all fields from a model.
42 This uses the Django built in `get_fields` method but also allows to exlude parent links.
43 Parent links are the `_ptr` fields that point to a parent class.
44 """
45 fields = model._meta.get_fields(include_parents, include_hidden)
46 if exclude_parent_links:
47 parent_links = model._meta.parents.values()
48 fields = [field for field in fields if field not in parent_links]
49 return fields