summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/website_user_cart.py
diff options
context:
space:
mode:
authortrisusilo48 <tri.susilo@altama.co.id>2024-10-02 09:44:39 +0700
committertrisusilo48 <tri.susilo@altama.co.id>2024-10-02 09:44:39 +0700
commit2739d3040a69228192096ee16373610149a2fb47 (patch)
tree545aa797d7407e8f22250dff15648495b891928f /indoteknik_custom/models/website_user_cart.py
parent4d3d219b5f1002822a16067a28261fd59b170ff8 (diff)
parent7d3780ede67579b5891218efc370dc82eef510a1 (diff)
Merge branch 'production' of https://bitbucket.org/altafixco/indoteknik-addons into production
Diffstat (limited to 'indoteknik_custom/models/website_user_cart.py')
-rw-r--r--indoteknik_custom/models/website_user_cart.py25
1 files changed, 22 insertions, 3 deletions
diff --git a/indoteknik_custom/models/website_user_cart.py b/indoteknik_custom/models/website_user_cart.py
index 0af22d47..169f4a6b 100644
--- a/indoteknik_custom/models/website_user_cart.py
+++ b/indoteknik_custom/models/website_user_cart.py
@@ -1,4 +1,4 @@
-from odoo import fields, models
+from odoo import fields, models, api
from datetime import datetime, timedelta
class WebsiteUserCart(models.Model):
@@ -16,6 +16,26 @@ class WebsiteUserCart(models.Model):
], 'Source', default='add_to_cart')
user_other_carts = fields.One2many('website.user.cart', 'id', 'Other Products', compute='_compute_user_other_carts')
is_reminder = fields.Boolean(string='Reminder?')
+ phone_user = fields.Char(string='Phone', related='user_id.mobile')
+ price = fields.Float(string='Price', compute='_compute_price')
+ program_product_id = fields.Many2one('product.product', string='Program Products', compute='_compute_program_product_ids')
+
+ @api.depends('program_line_id')
+ def _compute_program_product_ids(self):
+ for record in self:
+ if record.program_line_id and record.program_line_id.product_ids:
+ product = record.program_line_id.product_ids[0]
+ record.program_product_id = product.product_id
+ record.product_id = product.product_id
+ else:
+ # Handle case where there are no product_ids
+ record.program_product_id = False
+
+ def _compute_price(self):
+ for record in self:
+ record.price = record.get_price_website(record.product_id.id)['price']
+ if record.program_line_id:
+ record.price = record.get_price_coret(record.program_line_id.id)
def _compute_user_other_carts(self):
for record in self:
@@ -130,8 +150,7 @@ class WebsiteUserCart(models.Model):
if voucher_shipping:
voucher_shipping_info = voucher_shipping.apply(order_line)
- discount_voucher_shipping = voucher_shipping_info['discount']['all']
- subtotal -= discount_voucher_shipping
+ discount_voucher_shipping = voucher_shipping_info['discount']['all']
tax = round(subtotal * 0.11)
grand_total = subtotal + tax