Coverage for benefits / core / admin / transit.py: 100%
25 statements
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-22 19:08 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-22 19:08 +0000
1from django.contrib import admin
2from django.contrib.auth.models import Group
4from benefits.core import models
5from .mixins import StaffPermissionMixin, SuperuserPermissionMixin
8@admin.register(models.EligibilityApiConfig)
9class EligibilityApiConfigAdmin(SuperuserPermissionMixin, admin.ModelAdmin):
10 pass
13@admin.register(models.TransitAgency)
14class TransitAgencyAdmin(StaffPermissionMixin, admin.ModelAdmin):
15 def get_exclude(self, request, obj=None):
16 fields = []
18 if not request.user.is_superuser:
19 fields.extend(
20 [
21 "sso_domain",
22 ]
23 )
25 if not obj:
26 # hide these fields when creating a new agency
27 fields.extend(["customer_service_group"])
29 return fields or super().get_exclude(request, obj)
31 def save_model(self, request, obj, form, change):
33 if not change:
34 cs_group_name = obj.customer_service_group_name
35 customer_service_group = Group.objects.create(name=cs_group_name)
36 obj.customer_service_group = customer_service_group
37 elif "short_name" in form.changed_data:
38 obj.customer_service_group.name = obj.customer_service_group_name
39 obj.customer_service_group.save()
41 super().save_model(request, obj, form, change)