From 8124a3986e715cccbe3f27ff090820ed44948386 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 22 Nov 2022 15:10:25 +0700 Subject: add website brand homepage for dynamic brand in homepage --- indoteknik_api/controllers/api_v1/__init__.py | 3 ++- .../controllers/api_v1/brand_homepage.py | 29 ++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 indoteknik_api/controllers/api_v1/brand_homepage.py (limited to 'indoteknik_api/controllers/api_v1') diff --git a/indoteknik_api/controllers/api_v1/__init__.py b/indoteknik_api/controllers/api_v1/__init__.py index af28675c..0ea9ba75 100644 --- a/indoteknik_api/controllers/api_v1/__init__.py +++ b/indoteknik_api/controllers/api_v1/__init__.py @@ -8,4 +8,5 @@ from . import product from . import promotion from . import sale_order from . import user -from . import wishlist \ No newline at end of file +from . import wishlist +from . import brand_homepage diff --git a/indoteknik_api/controllers/api_v1/brand_homepage.py b/indoteknik_api/controllers/api_v1/brand_homepage.py new file mode 100644 index 00000000..338e6e0e --- /dev/null +++ b/indoteknik_api/controllers/api_v1/brand_homepage.py @@ -0,0 +1,29 @@ +from .. import controller +from odoo import http +from odoo.http import request + + +class BrandHomepage(controller.Controller): + prefix = '/api/v1/' + + @http.route(prefix + 'brand_homepage', auth='public', methods=['GET', 'OPTIONS']) + def get_brand_homepage(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') + + query = [('status', '=', 'tayang')] + brands_homepage = request.env['website.brand.homepage'].search(query) + + data = [] + for brand_homepage in brands_homepage: + data.append({ + 'sequence': brand_homepage.sequence, + 'manufacture_id': brand_homepage.manufacture_id.id, + 'name': brand_homepage.manufacture_id.x_name, + 'image': base_url + 'api/image/website.brand.homepage/image/' + str( + brand_homepage.id) if brand_homepage.image else '', + }) + + return self.response(data) -- cgit v1.2.3