diff options
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/banner.py | 2 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/flash_sale.py | 3 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/sale_order.py | 38 |
3 files changed, 39 insertions, 4 deletions
diff --git a/indoteknik_api/controllers/api_v1/banner.py b/indoteknik_api/controllers/api_v1/banner.py index d1ebf573..308d2765 100644 --- a/indoteknik_api/controllers/api_v1/banner.py +++ b/indoteknik_api/controllers/api_v1/banner.py @@ -40,6 +40,8 @@ class Banner(controller.Controller): 'sequence': banner.sequence, 'group_by_week': banner.group_by_week, 'image': request.env['ir.attachment'].api_image('x_banner.banner', 'x_banner_image', banner.id), + 'headline_banner': banner.x_headline_banner, + 'description_banner': banner.x_description_banner } if banner.group_by_week and int(banner.group_by_week) < week_number and type == 'index-a-1': diff --git a/indoteknik_api/controllers/api_v1/flash_sale.py b/indoteknik_api/controllers/api_v1/flash_sale.py index dff8bec3..00b1f2e0 100644 --- a/indoteknik_api/controllers/api_v1/flash_sale.py +++ b/indoteknik_api/controllers/api_v1/flash_sale.py @@ -14,7 +14,7 @@ class FlashSale(controller.Controller): def _get_flash_sale_header(self, **kw): try: # base_url = request.env['ir.config_parameter'].get_param('web.base.url') - active_flash_sale = request.env['product.pricelist'].get_active_flash_sale() + active_flash_sale = request.env['product.pricelist'].get_is_show_program_flash_sale() data = [] for pricelist in active_flash_sale: query = [ @@ -24,6 +24,7 @@ class FlashSale(controller.Controller): 'pricelist_id': pricelist.id, 'option': pricelist.flashsale_option, 'name': pricelist.name, + 'is_show_program': pricelist.is_show_program, 'banner': request.env['ir.attachment'].api_image('product.pricelist', 'banner', pricelist.id), 'banner_mobile': request.env['ir.attachment'].api_image('product.pricelist', 'banner_mobile', pricelist.id), 'banner_top': request.env['ir.attachment'].api_image('product.pricelist', 'banner_top', pricelist.id), diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index ee295b55..b35da7a2 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -9,6 +9,36 @@ class SaleOrder(controller.Controller): prefix = '/api/v1/' PREFIX_PARTNER = prefix + 'partner/<partner_id>/' + @http.route(prefix + "sale_order/<id>/reject/<product_id>", auth='public', method=['POST', 'OPTIONS'], csrf=False) + @controller.Controller.must_authorized() + def reject_sale_order_line(self, **kw): + so_id = int(kw.get('id', '0')) + product_id = int(kw.get('product_id', '0')) + params = self.get_request_params(kw, { + 'reason_reject': [] + }) + + sale_order_line = request.env['sale.order.line'].search([ + ('product_id', '=', product_id), + ('order_id', '=', so_id) + ], limit=1) + + if sale_order_line: + parameters = { + 'sale_order_id': sale_order_line.order_id.id, + 'product_id': sale_order_line.product_id.id, + 'qty_reject': sale_order_line.product_uom_qty, + 'reason_reject': params['value']['reason_reject'], + } + + sale_order_reject = request.env['sales.order.reject'].create(parameters) + + sale_order_line.unlink() + + return self.response('work') + else: + return self.response('Sale order line not found', status=404) + @http.route(prefix + "sale_order_number", auth='public', method=['GET', 'OPTIONS']) @controller.Controller.must_authorized() def get_number_sale_order(self, **kw): @@ -97,7 +127,7 @@ class SaleOrder(controller.Controller): return self.response(data) @http.route(PREFIX_PARTNER + 'sale_order/<id>', auth='public', method=['GET', 'OPTIONS']) - @controller.Controller.must_authorized(private=True, private_key='partner_id') + @controller.Controller.must_authorized() def partner_get_sale_order_detail(self, **kw): params = self.get_request_params(kw, { 'partner_id': ['number'], @@ -313,7 +343,7 @@ class SaleOrder(controller.Controller): return self.response(result) @http.route(PREFIX_PARTNER + 'sale_order/checkout', auth='public', method=['POST', 'OPTIONS'], csrf=False) - @controller.Controller.must_authorized(private=True, private_key='partner_id') + @controller.Controller.must_authorized() def create_partner_sale_order(self, **kw): config = request.env['ir.config_parameter'] product_pricelist_default_discount_id = int(config.get_param('product.pricelist.tier1_v2')) @@ -332,6 +362,7 @@ class SaleOrder(controller.Controller): 'carrier_id': [], 'delivery_service_type': [], 'flash_sale': ['boolean'], + 'note_website': [], 'voucher': [], 'source': [], 'estimated_arrival_days': ['number', 'default:0'] @@ -366,9 +397,10 @@ class SaleOrder(controller.Controller): 'carrier_id': params['value']['carrier_id'], 'delivery_service_type': params['value']['delivery_service_type'], 'flash_sale': params['value']['flash_sale'], + 'note_website': params['value']['note_website'], 'customer_type': 'nonpkp', 'npwp': '0', - 'user_id': 20 # User ID: Nabila Rahmawati + 'user_id': 3222 # User ID: Nadia Rauhadatul Firdaus } if params['value']['type'] == 'sale_order': parameters['approval_status'] = 'pengajuan1' |
