Coverage for apis_core/generic/abc.py: 54%

37 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-09-16 07:42 +0000

1from django.contrib.contenttypes.models import ContentType 

2from django.urls import reverse 

3 

4from apis_core.generic.helpers import permission_fullname 

5 

6 

7class GenericModel: 

8 @classmethod 

9 def get_listview_url(cls): 

10 ct = ContentType.objects.get_for_model(cls) 

11 return reverse("apis_core:generic:list", args=[ct]) 

12 

13 @classmethod 

14 def get_createview_url(cls): 

15 ct = ContentType.objects.get_for_model(cls) 

16 return reverse("apis_core:generic:create", args=[ct]) 

17 

18 def get_edit_url(self): 

19 ct = ContentType.objects.get_for_model(self) 

20 return reverse("apis_core:generic:update", args=[ct, self.id]) 

21 

22 def get_absolute_url(self): 

23 ct = ContentType.objects.get_for_model(self) 

24 return reverse("apis_core:generic:detail", args=[ct, self.id]) 

25 

26 def get_delete_url(self): 

27 ct = ContentType.objects.get_for_model(self) 

28 return reverse("apis_core:generic:delete", args=[ct, self.id]) 

29 

30 def get_create_success_url(self): 

31 return self.get_absolute_url() 

32 

33 def get_update_success_url(self): 

34 return self.get_edit_url() 

35 

36 def get_api_detail_endpoint(self): 

37 ct = ContentType.objects.get_for_model(self) 

38 return reverse("apis_core:generic:genericmodelapi-detail", args=[ct, self.id]) 

39 

40 @classmethod 

41 def get_change_permission(self): 

42 return permission_fullname("change", self) 

43 

44 @classmethod 

45 def get_add_permission(self): 

46 return permission_fullname("add", self) 

47 

48 @classmethod 

49 def get_delete_permission(self): 

50 return permission_fullname("delete", self)