summaryrefslogtreecommitdiff
path: root/indoteknik_custom
diff options
context:
space:
mode:
authorIT Fixcomart <it@fixcomart.co.id>2023-07-26 03:25:42 +0000
committerIT Fixcomart <it@fixcomart.co.id>2023-07-26 03:25:42 +0000
commitf1beb945b9d59587ebed303c8aac12c720f0c3ce (patch)
tree545f70044720f161789dbec74997f4d5ce7aed9f /indoteknik_custom
parent2299450efc98c37c2f4c11457aed5747c9b4f998 (diff)
parent5ee4d54bdd5f8585bbf220dae31bb5aa2da41703 (diff)
Merged in feature/voucher-cart (pull request #70)
Feature/voucher cart
Diffstat (limited to 'indoteknik_custom')
-rw-r--r--indoteknik_custom/models/website_user_cart.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/indoteknik_custom/models/website_user_cart.py b/indoteknik_custom/models/website_user_cart.py
index 73f39d23..4d85e64d 100644
--- a/indoteknik_custom/models/website_user_cart.py
+++ b/indoteknik_custom/models/website_user_cart.py
@@ -40,17 +40,24 @@ class WebsiteUserCart(models.Model):
def get_products(self):
return [x.get_product() for x in self]
- def get_product_by_user(self, user_id, selected = False):
+ def get_product_by_user(self, user_id, selected=False, source=False):
user_id = int(user_id)
- parameters = [('user_id', '=', user_id)]
+ source = source if source else 'add_to_cart'
+
+ parameters = [
+ ('user_id', '=', user_id),
+ ('source', '=', source)
+ ]
+
if selected:
parameters.append(('is_selected', '=', True))
+
carts = self.search(parameters)
products = carts.get_products()
return products
- def get_user_checkout(self, user_id, voucher=False):
- products = self.get_product_by_user(user_id=user_id, selected=True)
+ def get_user_checkout(self, user_id, voucher=False, source=False):
+ products = self.get_product_by_user(user_id=user_id, selected=True, source=source)
total_purchase = sum(x['price']['price'] * x['quantity'] for x in products)
total_discount = sum((x['price']['price'] - x['price']['price_discount']) * x['quantity'] for x in products)
subtotal = total_purchase - total_discount