summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indoteknik_custom/models/voucher.py42
1 files changed, 10 insertions, 32 deletions
diff --git a/indoteknik_custom/models/voucher.py b/indoteknik_custom/models/voucher.py
index 145cd814..66e336c9 100644
--- a/indoteknik_custom/models/voucher.py
+++ b/indoteknik_custom/models/voucher.py
@@ -78,33 +78,22 @@ class Voucher(models.Model):
return bool(set(public_categories.ids) & set(self.voucher_category.ids))
def is_voucher_applicable_for_category(self, category):
- import logging
- _logger = logging.getLogger(__name__)
-
- # If voucher has no category restrictions, it applies to all
if not self.voucher_category:
- _logger.info("Voucher %s has no category restrictions", self.code)
return True
- # Check if the product's category directly matches one of the voucher's categories
if category.id in self.voucher_category.ids:
- _logger.info("Category %s directly matches voucher %s", category.name, self.code)
return True
- # Build the category hierarchy path for the product's category
category_path = []
current_cat = category
while current_cat:
category_path.append(current_cat.id)
current_cat = current_cat.parent_id
- # Check if any of the voucher's categories are in the category path (parent categories)
for voucher_cat in self.voucher_category:
if voucher_cat.id in category_path:
- _logger.info("Voucher category %s is in the category path of %s", voucher_cat.name, category.name)
return True
- _logger.info("No applicable category found for voucher %s and category %s", self.code, category.name)
return False
@api.constrains('description')
@@ -294,15 +283,9 @@ class Voucher(models.Model):
'<li>Voucher hanya berlaku apabila pembelian Pengguna sudah memenuhi syarat dan ketentuan yang tertera pada voucher</li>')
tnc.append(f'<li>Voucher berlaku {self._res_remaining_time()} lagi</li>')
tnc.append(f'<li>Voucher tidak bisa digunakan apabila terdapat produk flash sale</li>')
- if self.voucher_category:
- category_names = ', '.join([cat.name for cat in self.voucher_category])
- tnc.append(
- f'<li>Voucher hanya berlaku untuk produk dalam kategori {category_names} dan sub-kategorinya</li>')
- tnc.append(
- f'<li>Voucher tidak dapat digunakan jika ada produk di keranjang yang tidak termasuk dalam kategori tersebut</li>')
-
- if len(self.voucher_line) > 0:
- tnc.append(f'<li>Voucher berlaku untuk produk dari brand terpilih</li>')
+ tnc.append(
+ '<li> Nominal potongan produk yang bisa didapatkan hingga 10 Juta dengan minimum pembelian 10 Ribu. </li>')
+
tnc.append(self.generate_detail_tnc())
tnc.append('</ol>')
@@ -316,20 +299,15 @@ class Voucher(models.Model):
tnc = []
if self.apply_type == 'all':
- tnc.append('<li>')
- tnc.append('Nominal potongan produk yang bisa didapatkan hingga 10 Juta dengan minimum pembelian 10 Ribu.')
- tnc.append('</li>')
- tnc.append('<li>')
- if self.discount_type == 'fixed_price':
+ if self.voucher_category:
+ category_names = ', '.join([cat.name for cat in self.voucher_category])
tnc.append(
- f'Voucher untuk minimal pembelian {format_currency(self.min_purchase_amount)} dengan potongan hingga {format_currency(self.discount_amount)}')
- tnc.append('</li>')
- elif self.discount_type == 'percentage':
+ f'<li>Voucher hanya berlaku untuk produk dalam kategori {category_names} dan sub-kategorinya</li>')
tnc.append(
- f'Voucher untuk minimal pembelian {format_currency(self.min_purchase_amount)} dengan potongan hingga {self.discount_amount}%')
- elif len(self.voucher_line) > 0:
- tnc.append(
- '<li>Nominal potongan produk yang bisa didapatkan hingga 10 Juta dengan minimum pembelian 10 Ribu.</li>')
+ f'<li>Voucher tidak dapat digunakan jika ada produk di keranjang yang tidak termasuk dalam kategori tersebut</li>')
+ else:
+ tnc.append(f'<li>Voucher berlaku untuk produk dari brand terpilih</li>')
+
return ' '.join(tnc)
# def generate_detail_tnc(self):