diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-06-15 15:47:05 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-06-15 15:47:05 +0700 |
| commit | 55c67c71b04fce80c635b3a58d91c8bcb02e17c8 (patch) | |
| tree | ed8833b969800e36b887b4134c14dab89d3b91c7 /indoteknik_api | |
| parent | 1f2995a85428ac4335123bd33d48ae17d3c9f36f (diff) | |
| parent | 24649f8e939484759ef34e5e68f251d951f63c02 (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.py | 5 | ||||
| -rw-r--r-- | indoteknik_api/models/account_move.py | 8 | ||||
| -rw-r--r-- | indoteknik_api/models/product_product.py | 9 | ||||
| -rw-r--r-- | indoteknik_api/models/product_template.py | 1 |
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, |
