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:
parent
ab33a7b0c8
commit
f9620ed339
1 changed files with 2 additions and 26 deletions
|
|
@ -2,11 +2,9 @@ from contextlib import suppress
|
||||||
|
|
||||||
from constance.admin import Config
|
from constance.admin import Config
|
||||||
from constance.admin import ConstanceAdmin as BaseConstanceAdmin
|
from constance.admin import ConstanceAdmin as BaseConstanceAdmin
|
||||||
from dalf.admin import DALFRelatedFieldAjax, DALFRelatedOnlyField
|
from dalf.admin import DALFModelAdmin, DALFRelatedFieldAjax, DALFRelatedOnlyField
|
||||||
from django import forms
|
|
||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
from django.contrib.admin import ModelAdmin, TabularInline, action, register, site
|
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.contrib.gis.admin import GISModelAdmin
|
||||||
from django.db.models import Model
|
from django.db.models import Model
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
@ -233,7 +231,7 @@ class BrandAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):
|
||||||
|
|
||||||
|
|
||||||
@register(Product)
|
@register(Product)
|
||||||
class ProductAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):
|
class ProductAdmin(FieldsetsMixin, ActivationActionsMixin, DALFModelAdmin):
|
||||||
model = Product # type: ignore
|
model = Product # type: ignore
|
||||||
list_display = (
|
list_display = (
|
||||||
"name",
|
"name",
|
||||||
|
|
@ -270,28 +268,6 @@ class ProductAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):
|
||||||
general_fields = ["is_active", "name", "partnumber", "is_digital"]
|
general_fields = ["is_active", "name", "partnumber", "is_digital"]
|
||||||
relation_fields = ["category", "brand", "tags"]
|
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)
|
@register(ProductTag)
|
||||||
class ProductTagAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):
|
class ProductTagAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue