Features: 1) Add media property in ProductAdmin to include custom Select2 JS and CSS integration for improved admin interface;
Fixes: 1) Correct list_filter fields for brand and category in ProductAdmin to use proper lookup names; Extra: 1) Add missing import for forms and get_select2_language from
This commit is contained in:
parent
027c001d25
commit
ef42a7dbe7
1 changed files with 25 additions and 2 deletions
|
|
@ -3,9 +3,11 @@ 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 django.apps import apps
|
||||
from django.contrib import admin
|
||||
from django.contrib.admin import ModelAdmin, TabularInline
|
||||
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 _
|
||||
|
|
@ -240,8 +242,8 @@ class ProductAdmin(FieldsetsMixin, BasicModelAdmin):
|
|||
list_filter = (
|
||||
"is_active",
|
||||
"is_digital",
|
||||
("brand__name", DALFRelatedFieldAjax),
|
||||
("category__name", DALFRelatedFieldAjax),
|
||||
("brand", DALFRelatedFieldAjax),
|
||||
("category", DALFRelatedFieldAjax),
|
||||
("tags", DALFRelatedOnlyField),
|
||||
("stocks__vendor", DALFRelatedOnlyField),
|
||||
"created",
|
||||
|
|
@ -262,6 +264,27 @@ class ProductAdmin(FieldsetsMixin, BasicModelAdmin):
|
|||
general_fields = ["is_active", "name", "partnumber", "is_digital"]
|
||||
relation_fields = ["category", "brand", "tags"]
|
||||
|
||||
@property
|
||||
def media(self):
|
||||
i18n_name = get_select2_language()
|
||||
i18n_file = (f"admin/js/vendor/select2/i18n/{i18n_name}.js",) if i18n_name else ()
|
||||
return super().media + forms.Media(
|
||||
js=(
|
||||
"admin/js/vendor/jquery/jquery.min.js",
|
||||
"admin/js/vendor/select2/select2.full.min.js",
|
||||
*i18n_file,
|
||||
"admin/js/jquery.init.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",
|
||||
),
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@admin.register(ProductTag)
|
||||
class ProductTagAdmin(FieldsetsMixin, BasicModelAdmin):
|
||||
|
|
|
|||
Loading…
Reference in a new issue