summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-01-25 11:13:47 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-01-25 11:13:47 +0700
commit3883fef482c5c4cd13a6fc9dd73e51de82223b50 (patch)
treeab54291b759d44473e0000ff7ae7f28d469f0eb1 /indoteknik_api/controllers/api_v1
parent93d049139c2be8a70d32145a89e8b6e34732d56d (diff)
Sale Order Detail
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
-rw-r--r--indoteknik_api/controllers/api_v1/content.py4
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py24
2 files changed, 25 insertions, 3 deletions
diff --git a/indoteknik_api/controllers/api_v1/content.py b/indoteknik_api/controllers/api_v1/content.py
index 32828244..3e175dc4 100644
--- a/indoteknik_api/controllers/api_v1/content.py
+++ b/indoteknik_api/controllers/api_v1/content.py
@@ -6,8 +6,8 @@ from odoo.http import request
class WebsiteContent(controller.Controller):
prefix = '/api/v1/'
- @http.route(prefix + 'banner', auth='public', methods=['GET', 'OPTIONS'])
- def get_banner(self, **kw):
+ @http.route(prefix + 'banner/category', auth='public', methods=['GET', 'OPTIONS'])
+ def get_banner_by_category(self, **kw):
if not self.authenticate():
return self.response(code=401, description='Unauthorized')
base_url = request.env['ir.config_parameter'].get_param('web.base.url')
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index d69f40a4..425c4b44 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -55,9 +55,31 @@ class SaleOrder(controller.Controller):
('id', '=', params['value']['id']),
('partner_id', 'in', partner_child_ids)
]
+ data = {}
sale_order = request.env['sale.order'].search(domain)
+ if sale_order:
+ res_users = request.env['res.users']
+ data = {
+ 'id': sale_order.id,
+ 'name': sale_order.name,
+ 'payment_term': sale_order.payment_term_id.name or '',
+ 'sales': sale_order.user_id.name or '',
+ 'date_order': self.time_to_str(sale_order.date_order, '%d/%m/%Y %H:%M:%S'),
+ 'purchase_order_name': sale_order.partner_purchase_order_name,
+ 'products': [],
+ 'amount_total': sale_order.amount_total,
+ 'address': {
+ 'customer': res_users.api_address_response(sale_order.partner_id),
+ 'invoice': res_users.api_address_response(sale_order.partner_invoice_id),
+ 'shipping': res_users.api_address_response(sale_order.partner_shipping_id)
+ }
+ }
+ for line in sale_order.order_line:
+ product = request.env['product.product'].api_single_response(line.product_id)
+ product['quantity'] = line.product_uom_qty
+ data['products'].append(product)
- return
+ return self.response(data)
@http.route(PREFIX_PARTNER + 'sale_order/checkout', auth='public', method=['POST', 'OPTIONS'], csrf=False)
def create_partner_sale_order(self, **kw):