summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/website_user_cart.py
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-12-04 11:24:24 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-12-04 11:24:24 +0700
commit1094670e6fc35e5150b612b32e1f497b36c022b3 (patch)
tree4482491680db1554c28fb380480ada5282fac8f0 /indoteknik_custom/models/website_user_cart.py
parentc631620706a24426faea6b43c2a0602eebf9a5e4 (diff)
parentdbe24b9cd600c7b5a9d0587f80a782ed93c9a761 (diff)
Merge branch 'production' into iman/telegram
# Conflicts: # indoteknik_custom/models/__init__.py # indoteknik_custom/models/stock_picking.py
Diffstat (limited to 'indoteknik_custom/models/website_user_cart.py')
-rw-r--r--indoteknik_custom/models/website_user_cart.py23
1 files changed, 17 insertions, 6 deletions
diff --git a/indoteknik_custom/models/website_user_cart.py b/indoteknik_custom/models/website_user_cart.py
index 76b192c5..44393cf1 100644
--- a/indoteknik_custom/models/website_user_cart.py
+++ b/indoteknik_custom/models/website_user_cart.py
@@ -65,9 +65,11 @@ class WebsiteUserCart(models.Model):
if stock_quant:
res['is_in_bu'] = True
res['on_hand_qty'] = sum(stock_quant.mapped('quantity'))
+ res['available_quantity'] = sum(stock_quant.mapped('available_quantity'))
else:
res['is_in_bu'] = False
res['on_hand_qty'] = 0
+ res['available_quantity'] = 0
flashsales = self.product_id._get_active_flash_sale()
res['has_flashsale'] = True if len(flashsales) > 0 else False
@@ -93,22 +95,31 @@ class WebsiteUserCart(models.Model):
def get_product_by_user(self, user_id, selected=False, source=False):
user_id = int(user_id)
-
+
if source == 'buy':
source = ['buy']
else:
source = ['add_to_cart', 'buy']
parameters = [
- ('user_id', '=', user_id),
+ ('user_id', '=', user_id),
('source', 'in', source)
]
+ carts = self.search(parameters)
+
+ for cart in carts:
+ if cart.product_id:
+ price = cart.product_id._v2_get_website_price_include_tax()
+ if not cart.product_id.active or price < 1:
+ cart.is_selected = False
if selected:
parameters.append(('is_selected', '=', True))
- carts = self.search(parameters)
- products = carts.get_products()
+ products_active = self.search(parameters)
+
+ products = products_active.get_products()
+
return products
def get_user_checkout(self, user_id, voucher=False, voucher_shipping=False, source=False):
@@ -173,11 +184,11 @@ class WebsiteUserCart(models.Model):
}
return result
- def action_mail_reminder_to_checkout(self, limit=250):
+ def action_mail_reminder_to_checkout(self, limit=200):
user_ids = self.search([('is_reminder', '=', False)]).mapped('user_id')[:limit]
for user in user_ids:
- latest_cart = self.search([('user_id', '=', user.id), ('is_reminder', '=', False)], order='create_date desc', limit=1)
+ latest_cart = self.search([('user_id', '=', user.id)], order='create_date desc', limit=1)
carts_to_remind = self.search([('user_id', '=', user.id)])