summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-11-11 16:10:44 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-11-11 16:10:44 +0700
commitc8ce7890c7174ea678da282e3fa04501b24951bc (patch)
treef007d7bed000bdfa38f64d85af122f1d65b5c565 /indoteknik_api/controllers/api_v1
parent4c2325d4a983ced3a25a9d53d7613a9186360b17 (diff)
parent17d46cf9f4eede8177b2373c03d5b36123f712c1 (diff)
Merge branch 'production' into iman/request-renca-stock
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
-rw-r--r--indoteknik_api/controllers/api_v1/cart.py21
-rw-r--r--indoteknik_api/controllers/api_v1/partner.py6
-rw-r--r--indoteknik_api/controllers/api_v1/stock_picking.py26
-rw-r--r--indoteknik_api/controllers/api_v1/user.py4
4 files changed, 52 insertions, 5 deletions
diff --git a/indoteknik_api/controllers/api_v1/cart.py b/indoteknik_api/controllers/api_v1/cart.py
index 2a24b205..7a40b1e2 100644
--- a/indoteknik_api/controllers/api_v1/cart.py
+++ b/indoteknik_api/controllers/api_v1/cart.py
@@ -46,8 +46,25 @@ class Cart(controller.Controller):
def get_cart_count_by_user_id(self, user_id, **kw):
user_id = int(user_id)
query = [('user_id', '=', user_id)]
- carts = request.env['website.user.cart'].search_count(query)
- return self.response(carts)
+ carts = request.env['website.user.cart'].search(query)
+ products_active = []
+ products_inactive = []
+ for cart in carts:
+ if cart.product_id:
+ price = cart.product_id._v2_get_website_price_include_tax()
+ if cart.product_id.active and price > 0:
+ product = cart.with_context(price_for="web").get_products()
+ for product_active in product:
+ products_active.append(product_active)
+ else:
+ product_inactives = cart.with_context(price_for="web").get_products()
+ for inactives in product_inactives:
+ products_inactive.append(inactives)
+ else:
+ program = cart.with_context(price_for="web").get_products()
+ for programs in program:
+ products_active.append(programs)
+ return self.response(len(products_active))
@http.route(PREFIX_USER + 'cart/create-or-update', auth='public', methods=['POST', 'OPTIONS'], csrf=False)
@controller.Controller.must_authorized(private=True, private_key='user_id')
diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py
index a7925a02..bbca471b 100644
--- a/indoteknik_api/controllers/api_v1/partner.py
+++ b/indoteknik_api/controllers/api_v1/partner.py
@@ -74,6 +74,9 @@ class Partner(controller.Controller):
'district_id': ['number', 'alias:kecamatan_id'],
'sub_district_id': ['number', 'alias:kelurahan_id', 'exclude_if_null'],
'zip': ['required'],
+ 'longtitude': [],
+ 'latitude': [],
+ 'address_map': [],
'alamat_lengkap_text': []
})
@@ -105,6 +108,9 @@ class Partner(controller.Controller):
'city_id': ['required', 'number', 'alias:kota_id'],
'district_id': ['number', 'alias:kecamatan_id'],
'sub_district_id': ['number', 'alias:kelurahan_id', 'exclude_if_null'],
+ 'longtitude': [],
+ 'latitude': [],
+ 'address_map': [],
'zip': ['required']
})
diff --git a/indoteknik_api/controllers/api_v1/stock_picking.py b/indoteknik_api/controllers/api_v1/stock_picking.py
index 8b941c16..ea8c6400 100644
--- a/indoteknik_api/controllers/api_v1/stock_picking.py
+++ b/indoteknik_api/controllers/api_v1/stock_picking.py
@@ -1,6 +1,8 @@
from .. import controller
from odoo import http
from odoo.http import request
+from pytz import timezone
+from datetime import datetime
class StockPicking(controller.Controller):
@@ -110,4 +112,26 @@ class StockPicking(controller.Controller):
if not picking:
return self.response(None)
- return self.response(picking.get_tracking_detail()) \ No newline at end of file
+ return self.response(picking.get_tracking_detail())
+
+ @http.route(prefix + 'stock-picking/<picking_code>/documentation', auth='public', methods=['PUT', 'OPTIONS'], csrf=False)
+ @controller.Controller.must_authorized()
+ def write_partner_stock_picking_documentation(self, **kw):
+ picking_code = int(kw.get('picking_code', 0))
+ sj_document = kw.get('sj_document', False)
+ paket_document = kw.get('paket_document', False)
+
+ params = {'sj_documentation': sj_document,
+ 'paket_documentation': paket_document,
+ 'driver_arrival_date': datetime.utcnow(),
+ }
+
+ picking_data = request.env['stock.picking'].search([('picking_code', '=', picking_code)], limit=1)
+
+ if not picking_data:
+ return self.response(code=404, description='picking not found')
+ picking_data.write(params)
+
+ return self.response({
+ 'name': picking_data.name
+ }) \ No newline at end of file
diff --git a/indoteknik_api/controllers/api_v1/user.py b/indoteknik_api/controllers/api_v1/user.py
index c7bfe91a..3be874fa 100644
--- a/indoteknik_api/controllers/api_v1/user.py
+++ b/indoteknik_api/controllers/api_v1/user.py
@@ -95,7 +95,7 @@ class User(controller.Controller):
user = request.env['res.users'].create(user_data)
user.partner_id.email = email
user.partner_id.customer_type = 'nonpkp'
- user.partner_id.npwp = '0.000.000.0-000.000'
+ user.partner_id.npwp = '00.000.000.0-000.000'
user.partner_id.sppkp = '-'
user.partner_id.nama_wajib_pajak = user.name
user.partner_id.user_id = 3222
@@ -248,7 +248,7 @@ class User(controller.Controller):
if type_acc == 'individu':
user.partner_id.customer_type = 'nonpkp'
- user.partner_id.npwp = '0.000.000.0-000.000'
+ user.partner_id.npwp = '00.000.000.0-000.000'
user.partner_id.sppkp = '-'
user.partner_id.nama_wajib_pajak = name
user.partner_id.user_id = 3222