Fixes: add_product for Order
This commit is contained in:
parent
44e8ad6307
commit
2d96ec9637
1 changed files with 5 additions and 2 deletions
|
|
@ -550,7 +550,10 @@ class Order(ExportModelOperationsMixin("order"), NiceModel):
|
||||||
def total_quantity(self) -> int:
|
def total_quantity(self) -> int:
|
||||||
return sum([op.quantity for op in self.order_products.all()])
|
return sum([op.quantity for op in self.order_products.all()])
|
||||||
|
|
||||||
def add_product(self, product_uuid: str | None = None, attributes: list = [], update_quantity: bool = True):
|
def add_product(self, product_uuid: str | None = None, attributes: list = None, update_quantity: bool = True):
|
||||||
|
if attributes is None:
|
||||||
|
attributes = []
|
||||||
|
|
||||||
if self.status not in ["PENDING", "MOMENTAL"]:
|
if self.status not in ["PENDING", "MOMENTAL"]:
|
||||||
raise ValueError(_("you cannot add products to an order that is not a pending one"))
|
raise ValueError(_("you cannot add products to an order that is not a pending one"))
|
||||||
try:
|
try:
|
||||||
|
|
@ -569,7 +572,7 @@ class Order(ExportModelOperationsMixin("order"), NiceModel):
|
||||||
order_product, is_created = OrderProduct.objects.get_or_create(
|
order_product, is_created = OrderProduct.objects.get_or_create(
|
||||||
product=product,
|
product=product,
|
||||||
order=self,
|
order=self,
|
||||||
attributes=json.dumps(attributes) if attributes else {},
|
attributes=json.dumps(attributes),
|
||||||
defaults={"quantity": 1, "buy_price": product.price},
|
defaults={"quantity": 1, "buy_price": product.price},
|
||||||
)
|
)
|
||||||
if not is_created and update_quantity:
|
if not is_created and update_quantity:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue