Features: 1) Simplify FieldsetsMixin class by including translation handling method inline; 2) Improve icon consistency with updated replacements in ModelAdmin classes.
Fixes: 1) Add missing `# type: ignore` comments for type-checking in admin site customizations. Extra: 1) Refactor admin models by removing `TranslationFieldsetMixin` usage; 2) Streamline translation fieldset injection logic; 3) Code cleanup and minor comment adjustments.
This commit is contained in:
parent
0079998ed7
commit
437f3cff31
1 changed files with 28 additions and 33 deletions
|
|
@ -35,11 +35,15 @@ from .models import (
|
|||
)
|
||||
|
||||
|
||||
class TranslationFieldsetMixin:
|
||||
class FieldsetsMixin:
|
||||
general_fields: list = []
|
||||
relation_fields: list = []
|
||||
model: Model
|
||||
|
||||
def get_fieldsets(self, request, obj=None):
|
||||
fieldsets = super().get_fieldsets(request, obj)
|
||||
fieldsets = []
|
||||
|
||||
def add_translations_fieldset(fieldsets):
|
||||
opts = translator.get_options_for_model(self.model)
|
||||
translation_fields = []
|
||||
for orig in opts.local_fields:
|
||||
|
|
@ -50,14 +54,6 @@ class TranslationFieldsetMixin:
|
|||
]
|
||||
return fieldsets
|
||||
|
||||
|
||||
class FieldsetsMixin:
|
||||
general_fields: list = []
|
||||
relation_fields: list = []
|
||||
model: Model
|
||||
|
||||
def get_fieldsets(self, request, obj=None):
|
||||
fieldsets = []
|
||||
if self.general_fields:
|
||||
fieldsets.append((_("general"), {"fields": self.general_fields}))
|
||||
if self.relation_fields:
|
||||
|
|
@ -71,6 +67,7 @@ class FieldsetsMixin:
|
|||
ts.append(name)
|
||||
if ts:
|
||||
fieldsets.append((_("timestamps"), {"fields": ts, "classes": ["collapse"]}))
|
||||
fieldsets = add_translations_fieldset(fieldsets)
|
||||
return fieldsets
|
||||
|
||||
|
||||
|
|
@ -107,7 +104,7 @@ class AttributeValueInline(TabularInline):
|
|||
is_navtab = True
|
||||
verbose_name = _("attribute value")
|
||||
verbose_name_plural = _("attribute values")
|
||||
icon = "fa-regular fa-circle-dot"
|
||||
icon = "fa-solid fa-list-ul"
|
||||
|
||||
|
||||
class ProductImageInline(TabularInline):
|
||||
|
|
@ -125,7 +122,7 @@ class StockInline(TabularInline):
|
|||
is_navtab = True
|
||||
verbose_name = _("stock")
|
||||
verbose_name_plural = _("stocks")
|
||||
icon = "fa-regular fa-boxes-stacked"
|
||||
icon = "fa-solid fa-boxes-stacked"
|
||||
|
||||
|
||||
class OrderProductInline(TabularInline):
|
||||
|
|
@ -159,7 +156,7 @@ class CategoryChildrenInline(TabularInline):
|
|||
|
||||
|
||||
@admin.register(AttributeGroup)
|
||||
class AttributeGroupAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
||||
class AttributeGroupAdmin(FieldsetsMixin, BasicModelAdmin):
|
||||
model = AttributeGroup # type: ignore
|
||||
list_display = ("name", "modified")
|
||||
search_fields = ("uuid", "name")
|
||||
|
|
@ -170,7 +167,7 @@ class AttributeGroupAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAd
|
|||
|
||||
|
||||
@admin.register(Attribute)
|
||||
class AttributeAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
||||
class AttributeAdmin(FieldsetsMixin, BasicModelAdmin):
|
||||
model = Attribute # type: ignore
|
||||
list_display = ("name", "group", "value_type", "modified")
|
||||
list_filter = ("value_type", "group", "is_active")
|
||||
|
|
@ -183,7 +180,7 @@ class AttributeAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
|||
|
||||
|
||||
@admin.register(AttributeValue)
|
||||
class AttributeValueAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
||||
class AttributeValueAdmin(FieldsetsMixin, BasicModelAdmin):
|
||||
model = AttributeValue # type: ignore
|
||||
list_display = ("attribute", "value", "modified")
|
||||
list_filter = ("attribute__group", "is_active")
|
||||
|
|
@ -196,9 +193,7 @@ class AttributeValueAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAd
|
|||
|
||||
|
||||
@admin.register(Category)
|
||||
class CategoryAdmin(
|
||||
FieldsetsMixin, TranslationFieldsetMixin, DraggableMPTTAdmin, BasicModelAdmin
|
||||
):
|
||||
class CategoryAdmin(FieldsetsMixin, DraggableMPTTAdmin, BasicModelAdmin):
|
||||
model = Category # type: ignore
|
||||
list_display = ("indented_title", "parent", "is_active", "modified")
|
||||
list_filter = ("is_active", "level", "created", "modified")
|
||||
|
|
@ -212,7 +207,7 @@ class CategoryAdmin(
|
|||
|
||||
|
||||
@admin.register(Brand)
|
||||
class BrandAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
||||
class BrandAdmin(FieldsetsMixin, BasicModelAdmin):
|
||||
model = Brand # type: ignore
|
||||
list_display = ("name",)
|
||||
list_filter = ("categories", "is_active")
|
||||
|
|
@ -224,7 +219,7 @@ class BrandAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
|||
|
||||
|
||||
@admin.register(Product)
|
||||
class ProductAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
||||
class ProductAdmin(FieldsetsMixin, BasicModelAdmin):
|
||||
model = Product # type: ignore
|
||||
list_display = (
|
||||
"name",
|
||||
|
|
@ -261,7 +256,7 @@ class ProductAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
|||
|
||||
|
||||
@admin.register(ProductTag)
|
||||
class ProductTagAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
||||
class ProductTagAdmin(FieldsetsMixin, BasicModelAdmin):
|
||||
model = ProductTag # type: ignore
|
||||
list_display = ("tag_name",)
|
||||
search_fields = ("tag_name",)
|
||||
|
|
@ -272,7 +267,7 @@ class ProductTagAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin)
|
|||
|
||||
|
||||
@admin.register(CategoryTag)
|
||||
class CategoryTagAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
||||
class CategoryTagAdmin(FieldsetsMixin, BasicModelAdmin):
|
||||
model = CategoryTag # type: ignore
|
||||
list_display = ("tag_name",)
|
||||
search_fields = ("tag_name",)
|
||||
|
|
@ -296,7 +291,7 @@ class VendorAdmin(FieldsetsMixin, BasicModelAdmin):
|
|||
|
||||
|
||||
@admin.register(Feedback)
|
||||
class FeedbackAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
||||
class FeedbackAdmin(FieldsetsMixin, BasicModelAdmin):
|
||||
model = Feedback # type: ignore
|
||||
list_display = ("order_product", "rating", "comment", "modified")
|
||||
list_filter = ("rating", "is_active")
|
||||
|
|
@ -368,7 +363,7 @@ class PromoCodeAdmin(FieldsetsMixin, BasicModelAdmin):
|
|||
|
||||
|
||||
@admin.register(Promotion)
|
||||
class PromotionAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
||||
class PromotionAdmin(FieldsetsMixin, BasicModelAdmin):
|
||||
model = Promotion # type: ignore
|
||||
list_display = ("name", "discount_percent", "modified")
|
||||
search_fields = ("name",)
|
||||
|
|
@ -404,7 +399,7 @@ class WishlistAdmin(FieldsetsMixin, BasicModelAdmin):
|
|||
|
||||
|
||||
@admin.register(ProductImage)
|
||||
class ProductImageAdmin(FieldsetsMixin, TranslationFieldsetMixin, BasicModelAdmin):
|
||||
class ProductImageAdmin(FieldsetsMixin, BasicModelAdmin):
|
||||
model = ProductImage # type: ignore
|
||||
list_display = ("alt", "product", "priority", "modified")
|
||||
list_filter = ("priority",)
|
||||
|
|
@ -479,6 +474,6 @@ class ConstanceConfig:
|
|||
|
||||
admin.site.unregister([Config]) # type: ignore
|
||||
admin.site.register([ConstanceConfig], BaseConstanceAdmin) # type: ignore
|
||||
admin.site.site_title = CONSTANCE_CONFIG["PROJECT_NAME"][0]
|
||||
admin.site.site_title = CONSTANCE_CONFIG["PROJECT_NAME"][0] # type: ignore
|
||||
admin.site.site_header = "eVibes"
|
||||
admin.site.index_title = CONSTANCE_CONFIG["PROJECT_NAME"][0]
|
||||
admin.site.index_title = CONSTANCE_CONFIG["PROJECT_NAME"][0] # type: ignore
|
||||
|
|
|
|||
Loading…
Reference in a new issue