Features: 1) Integrate DALFModelAdmin into ProductAdmin for enhanced admin functionality;

Fixes: 1) Remove unused `get_select2_language` import and `media` property logic from `ProductAdmin`;

Extra: 1) Cleanup redundant imports; 2) Code formatting improvements for readability.
This commit is contained in:
Egor Pavlovich Gorbunov 2025-07-01 14:16:57 +03:00
parent ab33a7b0c8
commit f9620ed339

View file

@ -2,11 +2,9 @@ from contextlib import suppress
from constance.admin import Config
from constance.admin import ConstanceAdmin as BaseConstanceAdmin
from dalf.admin import DALFRelatedFieldAjax, DALFRelatedOnlyField
from django import forms
from dalf.admin import DALFModelAdmin, DALFRelatedFieldAjax, DALFRelatedOnlyField
from django.apps import apps
from django.contrib.admin import ModelAdmin, TabularInline, action, register, site
from django.contrib.admin.widgets import get_select2_language
from django.contrib.gis.admin import GISModelAdmin
from django.db.models import Model
from django.utils.translation import gettext_lazy as _
@ -233,7 +231,7 @@ class BrandAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):
@register(Product)
class ProductAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):
class ProductAdmin(FieldsetsMixin, ActivationActionsMixin, DALFModelAdmin):
model = Product # type: ignore
list_display = (
"name",
@ -270,28 +268,6 @@ class ProductAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):
general_fields = ["is_active", "name", "partnumber", "is_digital"]
relation_fields = ["category", "brand", "tags"]
@property
def media(self):
base = super().media
lang = get_select2_language()
i18n = (f"admin/js/vendor/select2/i18n/{lang}.js",) if lang else ()
extra = forms.Media(
js=(
"admin/js/vendor/select2/select2.full.min.js",
*i18n,
"admin/js/autocomplete.js",
"admin/js/django_admin_list_filter.js",
),
css={
"screen": (
"admin/css/vendor/select2/select2.min.css",
"admin/css/autocomplete.css",
"admin/css/django_admin_list_filter.css",
),
},
)
return base + extra
@register(ProductTag)
class ProductTagAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):