From 330aab84fc75eb89340d1910b2af8ec5bba7b45d Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Fri, 8 Sep 2023 13:33:34 +0700 Subject: add variant to api solr --- indoteknik_api/controllers/api_v3/__init__.py | 3 ++- indoteknik_api/controllers/api_v3/product.py | 2 +- indoteknik_api/controllers/api_v3/product_variant.py | 18 ++++++++++++++++++ indoteknik_custom/models/solr/product_template.py | 2 +- 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 indoteknik_api/controllers/api_v3/product_variant.py diff --git a/indoteknik_api/controllers/api_v3/__init__.py b/indoteknik_api/controllers/api_v3/__init__.py index 23275437..24f11c3d 100644 --- a/indoteknik_api/controllers/api_v3/__init__.py +++ b/indoteknik_api/controllers/api_v3/__init__.py @@ -1 +1,2 @@ -from . import product \ No newline at end of file +from . import product +from . import product_variant \ No newline at end of file diff --git a/indoteknik_api/controllers/api_v3/product.py b/indoteknik_api/controllers/api_v3/product.py index 3df34dc6..b4aab1b0 100644 --- a/indoteknik_api/controllers/api_v3/product.py +++ b/indoteknik_api/controllers/api_v3/product.py @@ -15,4 +15,4 @@ class V3Product(controller.Controller): products = request.env['product.template'].browse(int(id)) result = products.solr_results(detail=True) - return self.response(result, headers=[('Cache-Control', 'max-age=3600, public')]) \ No newline at end of file + return self.response(result) \ No newline at end of file diff --git a/indoteknik_api/controllers/api_v3/product_variant.py b/indoteknik_api/controllers/api_v3/product_variant.py new file mode 100644 index 00000000..3fb3a74a --- /dev/null +++ b/indoteknik_api/controllers/api_v3/product_variant.py @@ -0,0 +1,18 @@ +from .. import controller +from odoo import http +from odoo.http import request + +class V3Product(controller.Controller): + prefix = '/api/v3/' + + @http.route(prefix + 'product_variant/', auth='public', methods=['GET', 'OPTIONS']) + @controller.Controller.must_authorized() + def get_product_variant_solr_flag(self, **kw): + solr_model = request.env['apache.solr'] + + id = kw.get('id') + + products = request.env['product.product'].browse(int(id)) + result = products.solr_results() + + return self.response(result) \ No newline at end of file diff --git a/indoteknik_custom/models/solr/product_template.py b/indoteknik_custom/models/solr/product_template.py index e212c709..e8bdc1af 100644 --- a/indoteknik_custom/models/solr/product_template.py +++ b/indoteknik_custom/models/solr/product_template.py @@ -21,7 +21,7 @@ class ProductTemplate(models.Model): 'res_model': self._name, 'res_id': rec.id, 'function_name': function_name - }) + }) @api.constrains('active') def _create_solr_queue_sync_active(self): -- cgit v1.2.3