Features: 1) Added inactivation method parameter to delete_inactives for flexible product deletion options.
Fixes: 1) Corrected error message in `products` update case for consistent terminology. Extra: 1) Refactored `delete_inactives` logic for clarity and added validation for inactivation methods.
This commit is contained in:
parent
61033a58d6
commit
718f3dffa9
1 changed files with 11 additions and 3 deletions
14
core/vendors/__init__.py
vendored
14
core/vendors/__init__.py
vendored
|
|
@ -294,10 +294,18 @@ class AbstractVendor:
|
||||||
case "description":
|
case "description":
|
||||||
products.update(description="EVIBES_DELETED_PRODUCT")
|
products.update(description="EVIBES_DELETED_PRODUCT")
|
||||||
case _:
|
case _:
|
||||||
raise ValueError(f"Invalid method {method!r} for stock update...")
|
raise ValueError(f"Invalid method {method!r} for products update...")
|
||||||
|
|
||||||
def delete_inactives(self):
|
def delete_inactives(self, inactivation_method: str = "deactivate"):
|
||||||
self.get_products_queryset().filter(is_active=False).delete()
|
products = self.get_products_queryset()
|
||||||
|
|
||||||
|
match inactivation_method:
|
||||||
|
case "deactivate":
|
||||||
|
products.filter(is_active=False).delete()
|
||||||
|
case "description":
|
||||||
|
products.filter(description__exact="EVIBES_DELETED_PRODUCT").delete()
|
||||||
|
case _:
|
||||||
|
raise ValueError(f"Invalid method {inactivation_method!r} for products cleaner...")
|
||||||
|
|
||||||
def delete_belongings(self):
|
def delete_belongings(self):
|
||||||
self.get_products_queryset().delete()
|
self.get_products_queryset().delete()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue