Coverage for apis_core/apis_entities/templatetags/apis_entities.py: 56%

16 statements  

« prev     ^ index     » next       coverage.py v7.6.10, created at 2025-02-19 16:54 +0000

1from django import template 

2from django.contrib.contenttypes.models import ContentType 

3 

4from apis_core.apis_entities.models import AbstractEntity 

5 

6register = template.Library() 

7 

8 

9@register.simple_tag 

10def url_replace(request, field, value): 

11 dict_ = request.GET.copy() 

12 dict_[field] = value 

13 

14 return dict_.urlencode() 

15 

16 

17def is_entity(content_type: ContentType): 

18 model_class = content_type.model_class() 

19 return model_class is not None and issubclass(model_class, AbstractEntity) 

20 

21 

22@register.simple_tag 

23def entities_content_types(): 

24 """ 

25 Retrieve all models which inherit from AbstractEntity class 

26 and return their ContentType. 

27 """ 

28 entities = list( 

29 filter( 

30 lambda content_type: is_entity(content_type), 

31 ContentType.objects.all(), 

32 ) 

33 ) 

34 return entities