diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2024-07-26 13:48:31 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2024-07-26 13:48:31 +0700 |
| commit | e394d734ca4e53bd63b767c9c7fe77a5ebe49245 (patch) | |
| tree | 2e1397c560b490e930a4f5b123286b11f57cc215 /indoteknik_api/controllers/api_v1 | |
| parent | 4b855ffcaeee0d961bb900f4cc9d4665cee87dd4 (diff) | |
<iman> add website categories lob
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/__init__.py | 1 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/category_management_lob.py | 36 |
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')] + ) |
