Files
outbo-2-stgclone/evg-outbo-api/outbo/apps/organizations/admin.py
T
2024-11-27 13:18:16 +01:00

58 lines
1.5 KiB
Python
Executable File

from django.contrib import admin
from polymorphic.admin import (
PolymorphicChildModelAdmin,
PolymorphicChildModelFilter,
)
from outbo.apps.core.admin import PolymorphicParentModelAdmin
from outbo.apps.organizations.models import (
Organization,
AgencyOrganization,
ClientOrganization,
SupplierOrganization,
Brand,
Category,
)
class _OrganizationChildAdmin(PolymorphicChildModelAdmin):
base_model = Organization
@admin.register(AgencyOrganization)
class AgencyOrganizationAdmin(_OrganizationChildAdmin):
base_model = AgencyOrganization
@admin.register(ClientOrganization)
class ClientOrganizationAdmin(_OrganizationChildAdmin):
base_model = ClientOrganization
search_fields = ["name"]
@admin.register(SupplierOrganization)
class SupplierOrganizationAdmin(_OrganizationChildAdmin):
base_model = SupplierOrganization
search_fields = ["name"]
@admin.register(Organization)
class OrganizationAdmin(PolymorphicParentModelAdmin):
base_model = Organization
child_models = (AgencyOrganization, ClientOrganization, SupplierOrganization)
list_filter = (PolymorphicChildModelFilter,)
search_fields = ["name"]
@admin.register(Brand)
class BrandAdmin(admin.ModelAdmin):
autocomplete_fields = ["client", "suppliers", "categories"]
@admin.register(Category)
class CategoryAdmin(admin.ModelAdmin):
search_fields = ["name"]
# NOTE: https://stackoverflow.com/questions/9879687/adding-a-manytomanywidget-to-the-reverse-of-a-manytomanyfield-in-the-django-admi/13189954