summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-07-26 13:48:31 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-07-26 13:48:31 +0700
commite394d734ca4e53bd63b767c9c7fe77a5ebe49245 (patch)
tree2e1397c560b490e930a4f5b123286b11f57cc215 /indoteknik_api/controllers
parent4b855ffcaeee0d961bb900f4cc9d4665cee87dd4 (diff)
<iman> add website categories lob
Diffstat (limited to 'indoteknik_api/controllers')
-rw-r--r--indoteknik_api/controllers/api_v1/__init__.py1
-rw-r--r--indoteknik_api/controllers/api_v1/category_management_lob.py36
2 files changed, 37 insertions, 0 deletions
diff --git a/indoteknik_api/controllers/api_v1/__init__.py b/indoteknik_api/controllers/api_v1/__init__.py
index 5952a929..2d774071 100644
--- a/indoteknik_api/controllers/api_v1/__init__.py
+++ b/indoteknik_api/controllers/api_v1/__init__.py
@@ -21,6 +21,7 @@ from . import user
from . import wishlist
from . import brand_homepage
from . import category_management
+from . import category_management_lob
from . import customer
from . import content
from . import midtrans
diff --git a/indoteknik_api/controllers/api_v1/category_management_lob.py b/indoteknik_api/controllers/api_v1/category_management_lob.py
new file mode 100644
index 00000000..0f666f2f
--- /dev/null
+++ b/indoteknik_api/controllers/api_v1/category_management_lob.py
@@ -0,0 +1,36 @@
+from odoo import http
+from odoo.http import request
+from .. import controller
+import json
+
+class BrandHomepage(controller.Controller):
+ prefix = '/api/v1/'
+
+ @http.route(prefix + 'lob_homepage', auth='public', methods=['GET', 'OPTIONS'], csrf=False)
+ @controller.Controller.must_authorized()
+ def get_brand_homepage(self, **kw):
+ base_url = request.env['ir.config_parameter'].sudo().get_param('web.base.url')
+
+ query = [('status', '=', 'tayang')]
+ lob = request.env['website.categories.lob'].search(query, order='sequence')
+
+ data = []
+ for category in lob:
+ category_ids = [
+ {
+ 'id': cat.id,
+ 'name': cat.name
+ } for cat in category.category_ids
+ ]
+ data.append({
+ 'id': category.id,
+ 'sequence': category.sequence,
+ 'industries': category.category_id.name if category.category_id else '',
+ 'image': base_url + '/api/image/website.categories.lob/image/' + str(category.id) if category.image else '',
+ 'category_ids': category_ids
+ })
+
+ return request.make_response(
+ json.dumps(data),
+ headers=[('Cache-Control', 'max-age=3600, public'), ('Content-Type', 'application/json')]
+ )