summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-08-21 15:51:43 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-08-21 15:51:43 +0700
commit83a5b34fd3e6bae5dae43e0f4ee6505737eca2d5 (patch)
tree3bec2d973fe7cf58637b9f877a7f557bc19541da
parenta244555db414737b7dde2b270da40ba3dc8f9def (diff)
<iman> delete solr category management
-rw-r--r--indoteknik_custom/models/solr/__init__.py1
-rw-r--r--indoteknik_custom/models/solr/website_categories_management.py95
2 files changed, 0 insertions, 96 deletions
diff --git a/indoteknik_custom/models/solr/__init__.py b/indoteknik_custom/models/solr/__init__.py
index 925a8c14..606c0035 100644
--- a/indoteknik_custom/models/solr/__init__.py
+++ b/indoteknik_custom/models/solr/__init__.py
@@ -5,7 +5,6 @@ from . import product_pricelist_item
from . import product_product
from . import product_template
from . import website_categories_homepage
-from . import website_categories_management
from . import x_manufactures
from . import x_banner_banner
from . import product_public_category
diff --git a/indoteknik_custom/models/solr/website_categories_management.py b/indoteknik_custom/models/solr/website_categories_management.py
deleted file mode 100644
index 49f52378..00000000
--- a/indoteknik_custom/models/solr/website_categories_management.py
+++ /dev/null
@@ -1,95 +0,0 @@
-from odoo import models, fields, api
-from datetime import datetime
-import json
-
-import logging
-
-_logger = logging.getLogger(__name__)
-
-
-class WebsiteCategoriesManagement(models.Model):
- _inherit = 'website.categories.management'
-
- last_update_solr = fields.Datetime('Last Update Solr')
-
- def solr(self):
- return self.env['apache.solr'].connect('product_category_management')
-
- def update_last_update_solr(self):
- self.last_update_solr = datetime.utcnow()
-
- def _create_solr_queue(self, function_name):
- for rec in self:
- self.env['apache.solr.queue'].create_unique({
- 'res_model': self._name,
- 'res_id': rec.id,
- 'function_name': function_name
- })
-
- @api.constrains('status')
- def _create_solr_queue_sync_status(self):
- self._create_solr_queue('_sync_status_category_management_solr')
-
- @api.constrains('category_id', 'sequence', 'category_id2')
- def _create_solr_queue_sync_category_homepage(self):
- self._create_solr_queue('_sync_category_management_to_solr')
-
- def action_sync_to_solr(self):
- category_ids = self.env.context.get('active_ids', [])
- categories = self.search([('id', 'in', category_ids)])
- categories._create_solr_queue('_sync_category_management_to_solr')
-
- def unlink(self):
- res = super(WebsiteCategoriesManagement, self).unlink()
- for rec in self:
- self.solr().delete(rec.id)
- self.solr().optimize()
- self.solr().commit()
- return res
-
- def _sync_status_category_management_solr(self):
- for rec in self:
- if rec.status == 'tayang':
- rec._sync_category_management_to_solr()
- else:
- rec.unlink()
-
- def _sync_category_management_to_solr(self):
- solr_model = self.env['apache.solr']
-
- for category in self:
- if category.status == 'tidak_tayang':
- continue
-
- category_id2_data = [
- {
- 'id_level_2': x.id,
- 'name': x.name,
- 'image': x.image,
- 'child_frontend_id_i': [{'id_level_3': child.id, 'name': child.name, 'image': child.image} for child in
- x.child_frontend_id2]
- }
- for x in category.category_id2
- ]
- category_id2_json = json.dumps(category_id2_data)
- document = solr_model.get_doc('product_category_management', category.id)
- document.update({
- 'id': category.id,
- 'category_id_i': category.category_id.id,
- 'image_s': self.env['ir.attachment'].api_image('product.public.category', 'image_1920', category.category_id.id),
- 'name_s': category.category_id.name,
- 'sequence_i': category.sequence or '',
- 'category_id2_s': category_id2_json,
- })
- _logger.info('Category %s synchronized to Solr with document: %s', document)
- _logger.info('Category %s synchronized to Solr with category_id2_json: %s', category_id2_json)
- self.solr().add([document])
- category.update_last_update_solr()
-
- self.solr().commit()
-
- # def _sync_delete_solr(self):
- # for rec in self:
- # self.solr().delete(rec.id)
- # self.solr().optimize()
- # self.solr().commit() \ No newline at end of file