diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2024-08-21 15:51:43 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2024-08-21 15:51:43 +0700 |
| commit | 83a5b34fd3e6bae5dae43e0f4ee6505737eca2d5 (patch) | |
| tree | 3bec2d973fe7cf58637b9f877a7f557bc19541da | |
| parent | a244555db414737b7dde2b270da40ba3dc8f9def (diff) | |
<iman> delete solr category management
| -rw-r--r-- | indoteknik_custom/models/solr/__init__.py | 1 | ||||
| -rw-r--r-- | indoteknik_custom/models/solr/website_categories_management.py | 95 |
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 |
