From eeea51a3ba88623437774b3c568d78c487f7ca5d Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Tue, 1 Oct 2024 11:36:09 +0700 Subject: cr website user cart add price, phone and promotion product --- indoteknik_api/models/product_product.py | 5 +++-- indoteknik_custom/models/website_user_cart.py | 22 +++++++++++++++++++++- indoteknik_custom/views/website_user_cart.xml | 6 ++++++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/indoteknik_api/models/product_product.py b/indoteknik_api/models/product_product.py index 386ddb6a..9a602357 100644 --- a/indoteknik_api/models/product_product.py +++ b/indoteknik_api/models/product_product.py @@ -62,8 +62,9 @@ class ProductProduct(models.Model): pricelist = pricelist or self.env.context.get('user_pricelist') default_price_tier = '1_v2' - price_tier = pricelist.get_tier_level() - price_tier = price_tier if price_tier else default_price_tier + price_tier = default_price_tier + if pricelist: + price_tier = pricelist.get_tier_level() pricelist = self._get_pricelist_tier(price_tier) diff --git a/indoteknik_custom/models/website_user_cart.py b/indoteknik_custom/models/website_user_cart.py index b0cf47f7..0e245748 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.product_id.v2_api_single_response(record.product_id)['price']['price_discount'] + 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: diff --git a/indoteknik_custom/views/website_user_cart.xml b/indoteknik_custom/views/website_user_cart.xml index 11573121..335c6fc6 100755 --- a/indoteknik_custom/views/website_user_cart.xml +++ b/indoteknik_custom/views/website_user_cart.xml @@ -18,6 +18,9 @@ + + + @@ -37,6 +40,9 @@ + + + -- cgit v1.2.3 From b0c2cc852c8da4c22254508d2a1ec28bf3b89b10 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Tue, 1 Oct 2024 11:39:13 +0700 Subject: change position field --- indoteknik_custom/views/website_user_cart.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/indoteknik_custom/views/website_user_cart.xml b/indoteknik_custom/views/website_user_cart.xml index 335c6fc6..868e46ce 100755 --- a/indoteknik_custom/views/website_user_cart.xml +++ b/indoteknik_custom/views/website_user_cart.xml @@ -11,15 +11,16 @@ website.user.cart + + + - - -- cgit v1.2.3 From 8ec7ac273730c672bde96961a95cf12e1030016e Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Tue, 1 Oct 2024 14:16:52 +0700 Subject: fix bug --- indoteknik_api/models/product_product.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/indoteknik_api/models/product_product.py b/indoteknik_api/models/product_product.py index 9a602357..386ddb6a 100644 --- a/indoteknik_api/models/product_product.py +++ b/indoteknik_api/models/product_product.py @@ -62,9 +62,8 @@ class ProductProduct(models.Model): pricelist = pricelist or self.env.context.get('user_pricelist') default_price_tier = '1_v2' - price_tier = default_price_tier - if pricelist: - price_tier = pricelist.get_tier_level() + price_tier = pricelist.get_tier_level() + price_tier = price_tier if price_tier else default_price_tier pricelist = self._get_pricelist_tier(price_tier) -- cgit v1.2.3 From 9da8f3d5b2bd966bf873d8d760b179ba41f26542 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Tue, 1 Oct 2024 14:59:28 +0700 Subject: fix bug user cart --- indoteknik_custom/models/website_user_cart.py | 2 +- indoteknik_custom/views/website_user_cart.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/indoteknik_custom/models/website_user_cart.py b/indoteknik_custom/models/website_user_cart.py index 0e245748..169f4a6b 100644 --- a/indoteknik_custom/models/website_user_cart.py +++ b/indoteknik_custom/models/website_user_cart.py @@ -33,7 +33,7 @@ class WebsiteUserCart(models.Model): def _compute_price(self): for record in self: - record.price = record.product_id.v2_api_single_response(record.product_id)['price']['price_discount'] + 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) diff --git a/indoteknik_custom/views/website_user_cart.xml b/indoteknik_custom/views/website_user_cart.xml index 868e46ce..b4fb02be 100755 --- a/indoteknik_custom/views/website_user_cart.xml +++ b/indoteknik_custom/views/website_user_cart.xml @@ -13,8 +13,8 @@ - + -- cgit v1.2.3 From 14fe99d8cfa175cf959d0ec35660b47493955228 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Tue, 1 Oct 2024 15:36:03 +0700 Subject: cr due extension --- .../models/account_move_due_extension.py | 2 + indoteknik_custom/views/account_move_views.xml | 248 ++++++++++++--------- 2 files changed, 146 insertions(+), 104 deletions(-) diff --git a/indoteknik_custom/models/account_move_due_extension.py b/indoteknik_custom/models/account_move_due_extension.py index 0399c6a2..23f8888c 100644 --- a/indoteknik_custom/models/account_move_due_extension.py +++ b/indoteknik_custom/models/account_move_due_extension.py @@ -96,6 +96,8 @@ class DueExtension(models.Model): sales.action_confirm() self.order_id.due_id = self.id + template = self.env.ref('indoteknik_custom.mail_template_due_extension_approve') + template.send_mail(self.id, force_send=True) def generate_due_line(self): partners = self.partner_id.get_child_ids() diff --git a/indoteknik_custom/views/account_move_views.xml b/indoteknik_custom/views/account_move_views.xml index 1c70cc7b..057e80d3 100644 --- a/indoteknik_custom/views/account_move_views.xml +++ b/indoteknik_custom/views/account_move_views.xml @@ -1,117 +1,157 @@ - - due.extension.tree - due.extension - - - - - - - - - - - + + + due.extension.tree + due.extension + + + + + + + + + + + - - due.extension.line.tree - due.extension.line - - - - - - - - - - - - - - + + due.extension.line.tree + due.extension.line + + + + + + + + + + + + + + - - due.extension.form - due.extension - -
-
-
- - + /> +