Features: 1) Add is_active field to general_fields across all admin configurations; 2) Modify method definitions in BasicModelAdmin to utilize request parameter;

Fixes: 1) Correct method parameters for activation/deactivation actions in `BasicModelAdmin`;

Extra: 1) Improve formatting of `general_fields` lists for readability.
This commit is contained in:
Egor Pavlovich Gorbunov 2025-06-24 17:12:21 +03:00
parent 5886ca0ab9
commit e6d59f053c

View file

@ -81,12 +81,16 @@ class FieldsetsMixin:
class BasicModelAdmin(ModelAdmin):
@admin.action(description=str(_("activate selected %(verbose_name_plural)s")))
def activate_selected(self, _request, queryset) -> str:
def activate_selected(self, request, queryset) -> str:
if request:
pass
queryset.update(is_active=True)
return str(_("%(verbose_name_plural)s activated successfully!"))
@admin.action(description=str(_("deactivate selected %(verbose_name_plural)s")))
def deactivate_selected(self, _request, queryset) -> str:
def deactivate_selected(self, request, queryset) -> str:
if request:
pass
queryset.update(is_active=False)
return str(_("%(verbose_name_plural)s deactivated successfully."))
@ -170,7 +174,7 @@ class AttributeGroupAdmin(FieldsetsMixin, BasicModelAdmin):
search_fields = ("uuid", "name")
readonly_fields = ("uuid", "modified", "created")
general_fields = ["name", "parent"]
general_fields = ["is_active", "name", "parent"]
relation_fields = []
@ -183,7 +187,7 @@ class AttributeAdmin(FieldsetsMixin, BasicModelAdmin):
readonly_fields = ("uuid", "modified", "created")
autocomplete_fields = ["categories", "group"]
general_fields = ["name", "value_type"]
general_fields = ["is_active", "name", "value_type"]
relation_fields = ["group", "categories"]
@ -196,7 +200,7 @@ class AttributeValueAdmin(FieldsetsMixin, BasicModelAdmin):
readonly_fields = ("uuid", "modified", "created")
autocomplete_fields = ["attribute"]
general_fields = ["value"]
general_fields = ["is_active", "value"]
relation_fields = ["attribute", "product"]
@ -210,7 +214,7 @@ class CategoryAdmin(FieldsetsMixin, DraggableMPTTAdmin, BasicModelAdmin):
autocomplete_fields = ["parent", "tags"]
readonly_fields = ("slug", "uuid", "modified", "created")
general_fields = ["name", "description", "image", "markup_percent"]
general_fields = ["is_active", "name", "description", "image", "markup_percent"]
relation_fields = ["parent", "tags"]
@ -222,7 +226,7 @@ class BrandAdmin(FieldsetsMixin, BasicModelAdmin):
search_fields = ("uuid", "name", "categories__name")
readonly_fields = ("uuid", "modified", "created")
general_fields = ["name", "description"]
general_fields = ["is_active", "name", "description"]
relation_fields = ["small_logo", "big_logo", "categories"]
@ -259,7 +263,7 @@ class ProductAdmin(FieldsetsMixin, BasicModelAdmin):
autocomplete_fields = ("category", "brand", "tags")
inlines = [AttributeValueInline, ProductImageInline, StockInline]
general_fields = ["name", "partnumber", "is_active", "is_digital"]
general_fields = ["is_active", "name", "partnumber", "is_active", "is_digital"]
relation_fields = ["category", "brand", "tags"]
@ -270,7 +274,7 @@ class ProductTagAdmin(FieldsetsMixin, BasicModelAdmin):
search_fields = ("tag_name",)
readonly_fields = ("uuid", "modified", "created")
general_fields = ["tag_name", "name"]
general_fields = ["is_active", "tag_name", "name"]
relation_fields = []
@ -281,7 +285,7 @@ class CategoryTagAdmin(FieldsetsMixin, BasicModelAdmin):
search_fields = ("tag_name",)
readonly_fields = ("uuid", "modified", "created")
general_fields = ["tag_name", "name"]
general_fields = ["is_active", "tag_name", "name"]
relation_fields = []
@ -294,7 +298,7 @@ class VendorAdmin(FieldsetsMixin, BasicModelAdmin):
readonly_fields = ("uuid", "modified", "created")
form = VendorForm
general_fields = ["name", "markup_percent", "authentication"]
general_fields = ["is_active", "name", "markup_percent", "authentication"]
relation_fields = []
@ -306,7 +310,7 @@ class FeedbackAdmin(FieldsetsMixin, BasicModelAdmin):
search_fields = ("order_product__product__name", "comment")
readonly_fields = ("uuid", "modified", "created")
general_fields = ["rating", "comment"]
general_fields = ["is_active", "rating", "comment"]
relation_fields = ["order_product"]
@ -334,7 +338,7 @@ class OrderAdmin(FieldsetsMixin, BasicModelAdmin):
inlines = [OrderProductInline]
form = OrderForm
general_fields = ["user", "status"]
general_fields = ["is_active", "user", "status"]
relation_fields = ["promo_code", "billing_address", "shipping_address"]
@ -347,7 +351,7 @@ class OrderProductAdmin(FieldsetsMixin, BasicModelAdmin):
readonly_fields = ("uuid", "modified", "created")
form = OrderProductForm
general_fields = ["quantity", "buy_price", "status"]
general_fields = ["is_active", "quantity", "buy_price", "status"]
relation_fields = ["order", "product"]
@ -363,11 +367,19 @@ class PromoCodeAdmin(FieldsetsMixin, BasicModelAdmin):
"used_on",
)
list_filter = ("discount_percent", "discount_amount", "start_time", "end_time")
search_fields = ("code", )
search_fields = ("code",)
readonly_fields = ("used_on", "uuid", "modified", "created")
autocomplete_fields = ("user",)
general_fields = ["code", "discount_amount", "discount_percent", "start_time", "end_time", "used_on"]
general_fields = [
"is_active",
"code",
"discount_amount",
"discount_percent",
"start_time",
"end_time",
"used_on",
]
relation_fields = ["user"]
@ -379,7 +391,7 @@ class PromotionAdmin(FieldsetsMixin, BasicModelAdmin):
readonly_fields = ("uuid", "modified", "created")
autocomplete_fields = ("products",)
general_fields = ["name", "discount_percent", "description"]
general_fields = ["is_active", "name", "discount_percent", "description"]
relation_fields = ["products"]
@ -392,7 +404,14 @@ class StockAdmin(FieldsetsMixin, BasicModelAdmin):
readonly_fields = ("uuid", "modified", "created")
autocomplete_fields = ("product", "vendor")
general_fields = ["sku", "quantity", "price", "purchase_price", "digital_asset"]
general_fields = [
"is_active",
"sku",
"quantity",
"price",
"purchase_price",
"digital_asset",
]
relation_fields = ["product", "vendor"]
@ -403,7 +422,7 @@ class WishlistAdmin(FieldsetsMixin, BasicModelAdmin):
search_fields = ("user__email",)
readonly_fields = ("uuid", "modified", "created")
general_fields = ["user"]
general_fields = ["is_active", "user"]
relation_fields = ["products"]
@ -416,7 +435,7 @@ class ProductImageAdmin(FieldsetsMixin, BasicModelAdmin):
readonly_fields = ("uuid", "modified", "created")
autocomplete_fields = ("product",)
general_fields = ["alt", "priority", "image"]
general_fields = ["is_active", "alt", "priority", "image"]
relation_fields = ["product"]
@ -436,6 +455,7 @@ class AddressAdmin(FieldsetsMixin, GISModelAdmin):
}
general_fields = [
"is_active",
"address_line",
"street",
"district",