From f9620ed3396d5a1990a5ae8b219d1c800b13a2ed Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Tue, 1 Jul 2025 14:16:57 +0300 Subject: [PATCH] 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. --- core/admin.py | 28 ++-------------------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/core/admin.py b/core/admin.py index c4caa1f8..4b6054ec 100644 --- a/core/admin.py +++ b/core/admin.py @@ -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):