Coverage for benefits/core/admin/transit.py: 96%

35 statements  

« prev     ^ index     » next       coverage.py v7.8.2, created at 2025-06-06 20:07 +0000

1from django.conf import settings 

2from django.contrib import admin 

3 

4from benefits.core import models 

5from .users import is_staff_member_or_superuser 

6 

7 

8@admin.register(models.TransitAgency) 

9class TransitAgencyAdmin(admin.ModelAdmin): 

10 def get_exclude(self, request, obj=None): 

11 fields = [] 

12 

13 if not request.user.is_superuser: 

14 fields.extend( 

15 [ 

16 "eligibility_api_private_key", 

17 "eligibility_api_public_key", 

18 "sso_domain", 

19 "littlepay_config", 

20 "switchio_config", 

21 ] 

22 ) 

23 

24 return fields or super().get_exclude(request, obj) 

25 

26 def get_readonly_fields(self, request, obj=None): 

27 fields = [] 

28 

29 if not request.user.is_superuser: 

30 fields.extend( 

31 [ 

32 "eligibility_api_id", 

33 "transit_processor", 

34 ] 

35 ) 

36 

37 return fields or super().get_readonly_fields(request, obj) 

38 

39 def has_add_permission(self, request): 

40 if settings.RUNTIME_ENVIRONMENT() != settings.RUNTIME_ENVS.PROD: 

41 return True 

42 elif request.user and is_staff_member_or_superuser(request.user): 42 ↛ 45line 42 didn't jump to line 45 because the condition on line 42 was always true

43 return True 

44 else: 

45 return False 

46 

47 

48@admin.register(models.TransitProcessor) 

49class TransitProcessorAdmin(admin.ModelAdmin): 

50 

51 def get_exclude(self, request, obj=None): 

52 fields = [] 

53 

54 if not request.user.is_superuser: 

55 fields.extend([]) 

56 

57 return fields or super().get_exclude(request, obj) 

58 

59 def has_add_permission(self, request): 

60 if settings.RUNTIME_ENVIRONMENT() != settings.RUNTIME_ENVS.PROD: 

61 return True 

62 elif request.user and request.user.is_superuser: 

63 return True 

64 else: 

65 return False