From 5310e60574e29a53232f0bb8286660c1d9813b76 Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Fri, 12 Dec 2025 09:18:12 +0700 Subject: (andri) add attribute set di solr mapping --- indoteknik_custom/models/product_template.py | 12 +++++++++++- indoteknik_custom/models/solr/apache_solr.py | 13 +++++++++---- indoteknik_custom/models/solr/product_product.py | 2 ++ indoteknik_custom/models/solr/product_template.py | 2 ++ indoteknik_custom/views/product_template.xml | 2 ++ 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/indoteknik_custom/models/product_template.py b/indoteknik_custom/models/product_template.py index ee33a185..2eed0f0d 100755 --- a/indoteknik_custom/models/product_template.py +++ b/indoteknik_custom/models/product_template.py @@ -15,7 +15,17 @@ _logger = logging.getLogger(__name__) class ProductTemplate(models.Model): _inherit = "product.template" - + x_attribute_set_id = fields.Integer( + string="Magento Attribute Set ID", + default=0, + index=True, + help="Attribute Set ID dari Magento" + ) + x_attribute_set_name = fields.Char( + string="Magento Attribute Set Name", + help="Attribute Set Name dari Magento" + ) + image_carousel_lines = fields.One2many( comodel_name="image.carousel", inverse_name="product_id", diff --git a/indoteknik_custom/models/solr/apache_solr.py b/indoteknik_custom/models/solr/apache_solr.py index d111c1c1..c2283421 100644 --- a/indoteknik_custom/models/solr/apache_solr.py +++ b/indoteknik_custom/models/solr/apache_solr.py @@ -7,9 +7,12 @@ import time from odoo.tools.config import config _logger = logging.getLogger(__name__) -_solr = pysolr.Solr('http://10.148.0.5:8983/solr/product/', always_commit=True, timeout=30) -_variants_solr = pysolr.Solr('http://10.148.0.5:8983/solr/variants/', always_commit=True, timeout=30) -_recommendation_solr = pysolr.Solr('http://10.148.0.5:8983/solr/recommendation/', always_commit=True, timeout=30) +# _solr = pysolr.Solr('http://10.148.0.5:8983/solr/product/', always_commit=True, timeout=30) +# _variants_solr = pysolr.Solr('http://10.148.0.5:8983/solr/variants/', always_commit=True, timeout=30) +# _recommendation_solr = pysolr.Solr('http://10.148.0.5:8983/solr/recommendation/', always_commit=True, timeout=30) +_solr = pysolr.Solr('http://localhost:8983/solr/product/', always_commit=True, timeout=30) +_variants_solr = pysolr.Solr('http://localhost:8983/solr/variants/', always_commit=True, timeout=30) +_recommendation_solr = pysolr.Solr('http://localhost:8983/solr/recommendation/', always_commit=True, timeout=30) # _solr = pysolr.Solr('http://34.101.189.218:8983/solr/product/', always_commit=True, timeout=30) # for development only @@ -24,7 +27,7 @@ class ApacheSolr(models.Model): if env == 'development': url = 'http://localhost:8983/solr/' elif env == 'production': - url = 'http://34.101.189.218:8983/solr/' + url = 'http://locahost:8983/solr/' return pysolr.Solr(url + schema, always_commit=False, timeout=10) @@ -266,6 +269,8 @@ class ApacheSolr(models.Model): 'tax_f': tax, 'stock_total_f': variant.qty_stock_vendor, 'weight_f': variant.product_tmpl_id.weight, + 'attribute_set_id_i': variant.product_tmpl_id.x_attribute_set_id or 0, + 'attribute_set_name_s': variant.product_tmpl_id.x_attribute_set_name or '', 'manufacture_id_i': variant.product_tmpl_id.x_manufacture.id or 0, 'manufacture_name_s': variant.product_tmpl_id.x_manufacture.x_name or '', 'manufacture_name': variant.product_tmpl_id.x_manufacture.x_name or '', diff --git a/indoteknik_custom/models/solr/product_product.py b/indoteknik_custom/models/solr/product_product.py index 7260c3ca..7df56e57 100644 --- a/indoteknik_custom/models/solr/product_product.py +++ b/indoteknik_custom/models/solr/product_product.py @@ -73,6 +73,8 @@ class ProductProduct(models.Model): 'image_mobile_s': ir_attachment.api_image('product.template', 'image_256', variant.product_tmpl_id.id), 'stock_total_f': variant.qty_free_bandengan, 'weight_f': variant.weight, + 'attribute_set_id_i': variant.product_tmpl_id.x_attribute_set_id or 0, + 'attribute_set_name_s': variant.product_tmpl_id.x_attribute_set_name or '', 'manufacture_id_i': variant.product_tmpl_id.x_manufacture.id or 0, 'manufacture_name_s': variant.product_tmpl_id.x_manufacture.x_name or '', 'manufacture_name': variant.product_tmpl_id.x_manufacture.x_name or '', diff --git a/indoteknik_custom/models/solr/product_template.py b/indoteknik_custom/models/solr/product_template.py index a7beca12..d6ca9097 100644 --- a/indoteknik_custom/models/solr/product_template.py +++ b/indoteknik_custom/models/solr/product_template.py @@ -105,6 +105,8 @@ class ProductTemplate(models.Model): "variant_total_i": template.product_variant_count, "stock_total_f": template.qty_stock_vendor, "weight_f": template.weight, + # "attribute_set_id_i": template.x_attribute_set_id or 0, + # "attribute_set_name_s": template.x_attribute_set_name or '', "manufacture_id_i": template.x_manufacture.id or 0, "manufacture_name_s": template.x_manufacture.x_name or '', "manufacture_name": template.x_manufacture.x_name or '', diff --git a/indoteknik_custom/views/product_template.xml b/indoteknik_custom/views/product_template.xml index 177449f4..1933a5d1 100755 --- a/indoteknik_custom/views/product_template.xml +++ b/indoteknik_custom/views/product_template.xml @@ -112,6 +112,8 @@ + + -- cgit v1.2.3 From ff058e22f64cd3e2dbd69d835f68877f530820c3 Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Tue, 30 Dec 2025 10:45:15 +0700 Subject: (andri) has magento + sync to mirroring to test --- indoteknik_custom/models/product_template.py | 3 ++- indoteknik_custom/models/solr/apache_solr.py | 8 +++++--- indoteknik_custom/models/solr/product_product.py | 2 ++ indoteknik_custom/views/product_product.xml | 1 + indoteknik_custom/views/product_template.xml | 3 +++ 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/indoteknik_custom/models/product_template.py b/indoteknik_custom/models/product_template.py index 2eed0f0d..5730b08b 100755 --- a/indoteknik_custom/models/product_template.py +++ b/indoteknik_custom/models/product_template.py @@ -84,7 +84,6 @@ class ProductTemplate(models.Model): merchandise_ok = fields.Boolean(string='Product Promotion') print_barcode = fields.Boolean(string='Print Barcode', default=True) # qr_code = fields.Binary("QR Code", compute='_compute_qr_code') - # has_magento = fields.Boolean(string='Has Magento?', default=False) @api.model def create(self, vals): @@ -940,6 +939,8 @@ class ProductProduct(models.Model): qty_pcs_box = fields.Float("Pcs Box") barcode_box = fields.Char("Barcode Box") + has_magento = fields.Boolean(string='Has Magento?', default=False) + def generate_product_sla(self): product_variant_ids = self.env.context.get('active_ids', []) product_variant = self.search([('id', 'in', product_variant_ids)]) diff --git a/indoteknik_custom/models/solr/apache_solr.py b/indoteknik_custom/models/solr/apache_solr.py index c2283421..8ae98dd7 100644 --- a/indoteknik_custom/models/solr/apache_solr.py +++ b/indoteknik_custom/models/solr/apache_solr.py @@ -10,9 +10,9 @@ _logger = logging.getLogger(__name__) # _solr = pysolr.Solr('http://10.148.0.5:8983/solr/product/', always_commit=True, timeout=30) # _variants_solr = pysolr.Solr('http://10.148.0.5:8983/solr/variants/', always_commit=True, timeout=30) # _recommendation_solr = pysolr.Solr('http://10.148.0.5:8983/solr/recommendation/', always_commit=True, timeout=30) -_solr = pysolr.Solr('http://localhost:8983/solr/product/', always_commit=True, timeout=30) -_variants_solr = pysolr.Solr('http://localhost:8983/solr/variants/', always_commit=True, timeout=30) -_recommendation_solr = pysolr.Solr('http://localhost:8983/solr/recommendation/', always_commit=True, timeout=30) +_solr = pysolr.Solr('http://35.219.88.139/solr/product/', always_commit=True, timeout=30) +_variants_solr = pysolr.Solr('http://35.219.88.139/solr/variants/', always_commit=True, timeout=30) +_recommendation_solr = pysolr.Solr('http://35.219.88.139/solr/recommendation/', always_commit=True, timeout=30) # _solr = pysolr.Solr('http://34.101.189.218:8983/solr/product/', always_commit=True, timeout=30) # for development only @@ -258,6 +258,7 @@ class ApacheSolr(models.Model): 'id': variant.id, 'display_name_s': variant.display_name, 'name_s': variant.name, + 'search_keywords_t': variant.display_name, 'default_code_s': variant.default_code or '', 'product_rating_f': variant.product_tmpl_id.virtual_rating, 'product_id_i': variant.id, @@ -269,6 +270,7 @@ class ApacheSolr(models.Model): 'tax_f': tax, 'stock_total_f': variant.qty_stock_vendor, 'weight_f': variant.product_tmpl_id.weight, + 'has_magento_b': variant.has_magento, 'attribute_set_id_i': variant.product_tmpl_id.x_attribute_set_id or 0, 'attribute_set_name_s': variant.product_tmpl_id.x_attribute_set_name or '', 'manufacture_id_i': variant.product_tmpl_id.x_manufacture.id or 0, diff --git a/indoteknik_custom/models/solr/product_product.py b/indoteknik_custom/models/solr/product_product.py index 7df56e57..a90bcb98 100644 --- a/indoteknik_custom/models/solr/product_product.py +++ b/indoteknik_custom/models/solr/product_product.py @@ -64,6 +64,7 @@ class ProductProduct(models.Model): 'id': variant.id, 'display_name_s': variant.display_name, 'name_s': variant.name, + 'search_keywords_t': variant.display_name, 'default_code_s': variant.default_code or '', 'product_rating_f': variant.product_tmpl_id.virtual_rating, 'product_id_i': variant.id, @@ -73,6 +74,7 @@ class ProductProduct(models.Model): 'image_mobile_s': ir_attachment.api_image('product.template', 'image_256', variant.product_tmpl_id.id), 'stock_total_f': variant.qty_free_bandengan, 'weight_f': variant.weight, + 'has_magento_b': variant.has_magento, 'attribute_set_id_i': variant.product_tmpl_id.x_attribute_set_id or 0, 'attribute_set_name_s': variant.product_tmpl_id.x_attribute_set_name or '', 'manufacture_id_i': variant.product_tmpl_id.x_manufacture.id or 0, diff --git a/indoteknik_custom/views/product_product.xml b/indoteknik_custom/views/product_product.xml index 1d04e708..e8a7380b 100644 --- a/indoteknik_custom/views/product_product.xml +++ b/indoteknik_custom/views/product_product.xml @@ -20,6 +20,7 @@ + diff --git a/indoteknik_custom/views/product_template.xml b/indoteknik_custom/views/product_template.xml index 1933a5d1..9fbf007a 100755 --- a/indoteknik_custom/views/product_template.xml +++ b/indoteknik_custom/views/product_template.xml @@ -78,6 +78,7 @@ + @@ -114,6 +115,7 @@ + @@ -127,6 +129,7 @@ + -- cgit v1.2.3 From d2c33bcf58080579f3a888bfe8b0ddf12926deac Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Thu, 15 Jan 2026 15:48:15 +0700 Subject: (andri) live --- indoteknik_custom/models/solr/apache_solr.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/indoteknik_custom/models/solr/apache_solr.py b/indoteknik_custom/models/solr/apache_solr.py index 8ae98dd7..dbc057c9 100644 --- a/indoteknik_custom/models/solr/apache_solr.py +++ b/indoteknik_custom/models/solr/apache_solr.py @@ -7,12 +7,12 @@ import time from odoo.tools.config import config _logger = logging.getLogger(__name__) -# _solr = pysolr.Solr('http://10.148.0.5:8983/solr/product/', always_commit=True, timeout=30) -# _variants_solr = pysolr.Solr('http://10.148.0.5:8983/solr/variants/', always_commit=True, timeout=30) -# _recommendation_solr = pysolr.Solr('http://10.148.0.5:8983/solr/recommendation/', always_commit=True, timeout=30) -_solr = pysolr.Solr('http://35.219.88.139/solr/product/', always_commit=True, timeout=30) -_variants_solr = pysolr.Solr('http://35.219.88.139/solr/variants/', always_commit=True, timeout=30) -_recommendation_solr = pysolr.Solr('http://35.219.88.139/solr/recommendation/', always_commit=True, timeout=30) +_solr = pysolr.Solr('http://10.148.0.5:8983/solr/product/', always_commit=True, timeout=30) +_variants_solr = pysolr.Solr('http://10.148.0.5:8983/solr/variants/', always_commit=True, timeout=30) +_recommendation_solr = pysolr.Solr('http://10.148.0.5:8983/solr/recommendation/', always_commit=True, timeout=30) +# _solr = pysolr.Solr('http://35.219.88.139/solr/product/', always_commit=True, timeout=30) +# _variants_solr = pysolr.Solr('http://35.219.88.139/solr/variants/', always_commit=True, timeout=30) +# _recommendation_solr = pysolr.Solr('http://35.219.88.139/solr/recommendation/', always_commit=True, timeout=30) # _solr = pysolr.Solr('http://34.101.189.218:8983/solr/product/', always_commit=True, timeout=30) # for development only -- cgit v1.2.3 From 25baecd1038b6b629e96d8b9eb9651bec95050b3 Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Thu, 15 Jan 2026 15:49:53 +0700 Subject: fix --- indoteknik_custom/models/solr/apache_solr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indoteknik_custom/models/solr/apache_solr.py b/indoteknik_custom/models/solr/apache_solr.py index dbc057c9..21fb15d2 100644 --- a/indoteknik_custom/models/solr/apache_solr.py +++ b/indoteknik_custom/models/solr/apache_solr.py @@ -27,7 +27,7 @@ class ApacheSolr(models.Model): if env == 'development': url = 'http://localhost:8983/solr/' elif env == 'production': - url = 'http://locahost:8983/solr/' + url = 'http://34.101.189.218:8983/solr/' return pysolr.Solr(url + schema, always_commit=False, timeout=10) -- cgit v1.2.3