fix(models): correct discount_price calculation logic
ensure discount_price reflects the actual discount by using the product's price. Also, suppress type-related issues in admin action descriptions for improved linting compatibility.
This commit is contained in:
parent
28622cec90
commit
9cab9fdd3a
2 changed files with 5 additions and 5 deletions
|
|
@ -155,7 +155,7 @@ class ActivationActionsMixin:
|
||||||
]
|
]
|
||||||
|
|
||||||
@action(
|
@action(
|
||||||
description=_("Activate selected %(verbose_name_plural)s"),
|
description=_("Activate selected %(verbose_name_plural)s"), # ty:ignore[invalid-argument-type]
|
||||||
permissions=["change"],
|
permissions=["change"],
|
||||||
)
|
)
|
||||||
def activate_selected(self, request: HttpRequest, queryset: QuerySet[Any]) -> None:
|
def activate_selected(self, request: HttpRequest, queryset: QuerySet[Any]) -> None:
|
||||||
|
|
@ -171,7 +171,7 @@ class ActivationActionsMixin:
|
||||||
self.message_user(request=request, message=str(e), level=messages.ERROR)
|
self.message_user(request=request, message=str(e), level=messages.ERROR)
|
||||||
|
|
||||||
@action(
|
@action(
|
||||||
description=_("Deactivate selected %(verbose_name_plural)s"),
|
description=_("Deactivate selected %(verbose_name_plural)s"), # ty:ignore[invalid-argument-type]
|
||||||
permissions=["change"],
|
permissions=["change"],
|
||||||
)
|
)
|
||||||
def deactivate_selected(
|
def deactivate_selected(
|
||||||
|
|
@ -528,7 +528,7 @@ class ProductAdmin(
|
||||||
has_images.short_description = _("has images") # ty:ignore[unresolved-attribute]
|
has_images.short_description = _("has images") # ty:ignore[unresolved-attribute]
|
||||||
|
|
||||||
@action(
|
@action(
|
||||||
description=_("Export selected %(verbose_name_plural)s to marketplaces' feeds"),
|
description=_("Export selected %(verbose_name_plural)s to marketplaces' feeds"), # ty:ignore[invalid-argument-type]
|
||||||
permissions=["change"],
|
permissions=["change"],
|
||||||
)
|
)
|
||||||
def export_to_marketplaces(
|
def export_to_marketplaces(
|
||||||
|
|
@ -550,7 +550,7 @@ class ProductAdmin(
|
||||||
self.message_user(request=request, message=str(e), level=messages.ERROR)
|
self.message_user(request=request, message=str(e), level=messages.ERROR)
|
||||||
|
|
||||||
@action(
|
@action(
|
||||||
description=_("Ban selected %(verbose_name_plural)s from marketplaces' feeds"),
|
description=_("Ban selected %(verbose_name_plural)s from marketplaces' feeds"), # ty:ignore[invalid-argument-type]
|
||||||
permissions=["change"],
|
permissions=["change"],
|
||||||
)
|
)
|
||||||
def ban_from_marketplaces(
|
def ban_from_marketplaces(
|
||||||
|
|
|
||||||
|
|
@ -699,7 +699,7 @@ class Product(ExportModelOperationsMixin("product"), NiceModel):
|
||||||
@cached_property
|
@cached_property
|
||||||
def discount_price(self) -> float | None:
|
def discount_price(self) -> float | None:
|
||||||
promo = self.promos.first()
|
promo = self.promos.first()
|
||||||
return promo.discount_percent if promo else None
|
return (self.price / 100) * promo.discount_percent if promo else None
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def rating(self) -> float:
|
def rating(self) -> float:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue