Coverage for benefits/core/admin/claims.py: 100%

21 statements  

« 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 

3 

4from benefits.core import models 

5 

6 

7@admin.register(models.ClaimsProvider) 

8class ClaimsProviderAdmin(admin.ModelAdmin): 

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

10 fields = [] 

11 

12 if not request.user.is_superuser: 

13 fields.extend(["client_id_secret_name"]) 

14 

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

16 

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

18 fields = [] 

19 

20 if not request.user.is_superuser: 

21 fields.extend( 

22 [ 

23 "sign_out_button_template", 

24 "sign_out_link_template", 

25 "authority", 

26 "scheme", 

27 ] 

28 ) 

29 

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

31 

32 def has_add_permission(self, request): 

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

34 return True 

35 elif request.user and request.user.is_superuser: 

36 return True 

37 else: 

38 return False