From ab33a7b0c8cc680de200a59d4ddc57563b5278d1 Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Tue, 1 Jul 2025 14:08:23 +0300 Subject: [PATCH] Features: 1) Add dynamic inclusion of autocomplete.js and corresponding i18n language script to admin media files. Fixes: 1) None. Extra: 1) Refactor `media` property structure for improved readability and maintainability. --- core/admin.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/core/admin.py b/core/admin.py index 13ab2b8c..c4caa1f8 100644 --- a/core/admin.py +++ b/core/admin.py @@ -272,14 +272,14 @@ class ProductAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin): @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( + 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/jquery/jquery.min.js", "admin/js/vendor/select2/select2.full.min.js", - *i18n_file, - "admin/js/jquery.init.js", + *i18n, + "admin/js/autocomplete.js", "admin/js/django_admin_list_filter.js", ), css={ @@ -290,6 +290,7 @@ class ProductAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin): ), }, ) + return base + extra @register(ProductTag)