Coverage for benefits/core/admin/transit.py: 96%
35 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-13 23:09 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-13 23:09 +0000
1from django.conf import settings
2from django.contrib import admin
4from benefits.core import models
5from .users import is_staff_member_or_superuser
8@admin.register(models.TransitAgency)
9class TransitAgencyAdmin(admin.ModelAdmin):
10 def get_exclude(self, request, obj=None):
11 fields = []
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 "transit_processor_audience",
20 "transit_processor_client_id",
21 "transit_processor_client_secret_name",
22 ]
23 )
25 return fields or super().get_exclude(request, obj)
27 def get_readonly_fields(self, request, obj=None):
28 fields = []
30 if not request.user.is_superuser:
31 fields.extend(
32 [
33 "eligibility_api_id",
34 "transit_processor",
35 ]
36 )
38 return fields or super().get_readonly_fields(request, obj)
40 def has_add_permission(self, request):
41 if settings.RUNTIME_ENVIRONMENT() != settings.RUNTIME_ENVS.PROD:
42 return True
43 elif request.user and is_staff_member_or_superuser(request.user): 43 ↛ 46line 43 didn't jump to line 46 because the condition on line 43 was always true
44 return True
45 else:
46 return False
49@admin.register(models.TransitProcessor)
50class TransitProcessorAdmin(admin.ModelAdmin):
52 def get_exclude(self, request, obj=None):
53 fields = []
55 if not request.user.is_superuser:
56 fields.extend(["api_base_url", "card_tokenize_url", "card_tokenize_func", "card_tokenize_env"])
58 return fields or super().get_exclude(request, obj)
60 def has_add_permission(self, request):
61 if settings.RUNTIME_ENVIRONMENT() != settings.RUNTIME_ENVS.PROD:
62 return True
63 elif request.user and request.user.is_superuser:
64 return True
65 else:
66 return False