summaryrefslogtreecommitdiff
path: root/indoteknik_api
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-06-15 15:47:05 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-06-15 15:47:05 +0700
commit55c67c71b04fce80c635b3a58d91c8bcb02e17c8 (patch)
treeed8833b969800e36b887b4134c14dab89d3b91c7 /indoteknik_api
parent1f2995a85428ac4335123bd33d48ae17d3c9f36f (diff)
parent24649f8e939484759ef34e5e68f251d951f63c02 (diff)
Merge commit '24649f8e939484759ef34e5e68f251d951f63c02'
Conflicts: indoteknik_custom/__manifest__.py indoteknik_custom/security/ir.model.access.csv
Diffstat (limited to 'indoteknik_api')
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py5
-rw-r--r--indoteknik_api/models/account_move.py8
-rw-r--r--indoteknik_api/models/product_product.py9
-rw-r--r--indoteknik_api/models/product_template.py1
4 files changed, 19 insertions, 4 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index 2ac92bf9..35361ba4 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -293,6 +293,11 @@ class SaleOrder(controller.Controller):
price = pricelist[price_tier]()
discount_key = 'discount_%s' % price_tier
if price[discount_key] > 0: discount = price[discount_key]
+
+ flashsale = product._get_flashsale_price()
+ flashsale_discount = flashsale['flashsale_discount']
+ if flashsale_discount > 0 and flashsale_discount > discount:
+ discount = flashsale_discount
parameters.append({
'company_id': 1,
diff --git a/indoteknik_api/models/account_move.py b/indoteknik_api/models/account_move.py
index 54e06f84..23a7076c 100644
--- a/indoteknik_api/models/account_move.py
+++ b/indoteknik_api/models/account_move.py
@@ -6,6 +6,10 @@ class AccountMove(models.Model):
_inherit = 'account.move'
def api_v1_single_response(self, account_move, context=False):
+ sale_order = self.env['sale.order'].search([('name', '=', account_move.invoice_origin), ('state', '=', 'done')], limit=1)
+ amount_residual = account_move.amount_residual
+ if sale_order.payment_status == 'settlement' or sale_order.payment_status == 'capture':
+ amount_residual = 0
data = {
'token': self.env['rest.api'].md5_salt(account_move.id, 'account.move'),
'id': account_move.id,
@@ -14,7 +18,7 @@ class AccountMove(models.Model):
'payment_term': account_move.invoice_payment_term_id.name or '',
'sales': account_move.invoice_user_id.name,
'amount_total': account_move.amount_total,
- 'amount_residual': account_move.amount_residual,
+ 'amount_residual': amount_residual,
'invoice_date': account_move.invoice_date.strftime('%d/%m/%Y') or '',
'efaktur': True if account_move.efaktur_document else False,
}
@@ -30,7 +34,7 @@ class AccountMove(models.Model):
'payment_term': account_move.invoice_payment_term_id.name or '',
'sales': account_move.invoice_user_id.name,
'amount_total': account_move.amount_total,
- 'amount_residual': account_move.amount_residual,
+ 'amount_residual': amount_residual,
'invoice_date_due': account_move.invoice_date_due.strftime('%d/%m/%Y') or '',
'customer': res_users.api_address_response(account_move.partner_id),
'products': [],
diff --git a/indoteknik_api/models/product_product.py b/indoteknik_api/models/product_product.py
index 49ea7804..14fe68cb 100644
--- a/indoteknik_api/models/product_product.py
+++ b/indoteknik_api/models/product_product.py
@@ -54,6 +54,13 @@ class ProductProduct(models.Model):
if price[discount_key] > 0: discount_percentage = price[discount_key]
if price[price_key] > 0: price_discount = price[price_key]
+ flashsale = product_product._get_flashsale_price()
+ flashsale_price = flashsale['flashsale_price']
+ flashsale_discount = flashsale['flashsale_discount']
+ if flashsale_price > 0 and flashsale_price < price_discount:
+ price_discount = flashsale_price
+ discount_percentage = flashsale_discount
+
product_template = product_product.product_tmpl_id
data = {
'id': product_product.id,
@@ -139,7 +146,7 @@ class ProductProduct(models.Model):
default_divide_tax = float(1.11)
price_after_disc = self._get_website_price_after_disc()
res = price_after_disc / default_divide_tax
- res = math.floor(res)
+ res = math.ceil(res)
return res
def _get_website_price_after_disc(self):
diff --git a/indoteknik_api/models/product_template.py b/indoteknik_api/models/product_template.py
index c3df97a5..1a345967 100644
--- a/indoteknik_api/models/product_template.py
+++ b/indoteknik_api/models/product_template.py
@@ -59,7 +59,6 @@ class ProductTemplate(models.Model):
'image': self.env['ir.attachment'].api_image('product.template', 'image_128', product_template.id),
'code': product_template.default_code or '',
'name': product_template.name,
- 'lowest_price': self.env['product.pricelist'].get_lowest_product_variant_price(product_template, product_pricelist_default_discount_id),
'variant_total': len(product_template.product_variant_ids),
'stock_total': product_template.qty_stock_vendor,
'weight': product_template.weight,