diff --git a/core/vendors/__init__.py b/core/vendors/__init__.py index 216c03b6..78a30e98 100644 --- a/core/vendors/__init__.py +++ b/core/vendors/__init__.py @@ -283,8 +283,18 @@ class AbstractVendor: product__in=self.get_products_queryset(), product__orderproduct__isnull=True ) - def prepare_for_stock_update(self): - self.get_products_queryset().update(is_active=False) + def prepare_for_stock_update(self, method: str = "deactivate") -> None: + products = self.get_products_queryset() + + match method: + case "deactivate": + products.update(is_active=False) + case "delete": + products.delete() + case "description": + products.update(description="EVIBES_DELETED_PRODUCT") + case _: + raise ValueError(f"Invalid method {method!r} for stock update...") def delete_inactives(self): self.get_products_queryset().filter(is_active=False).delete()