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

22 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-10-10 16:52 +0000

1from django.conf import settings 

2from django.contrib import admin 

3 

4from benefits.core import models 

5 

6from .users import is_staff_member_or_superuser 

7 

8 

9@admin.register(models.TransitAgency) 

10class TransitAgencyAdmin(admin.ModelAdmin): 

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

12 fields = [] 

13 

14 if not request.user.is_superuser: 

15 fields.extend( 

16 [ 

17 "eligibility_api_private_key", 

18 "eligibility_api_public_key", 

19 "sso_domain", 

20 ] 

21 ) 

22 

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

24 

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

26 fields = [] 

27 

28 if not request.user.is_superuser: 

29 fields.extend( 

30 [ 

31 "eligibility_api_id", 

32 ] 

33 ) 

34 

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

36 

37 def has_add_permission(self, request): 

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

39 return True 

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

41 return True 

42 else: 

43 return False