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