summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
-rw-r--r--indoteknik_api/controllers/api_v1/banner.py2
-rw-r--r--indoteknik_api/controllers/api_v1/flash_sale.py3
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py38
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'