diff options
| author | Mqdd <ahmadmiqdad27@gmail.com> | 2025-12-09 10:32:27 +0700 |
|---|---|---|
| committer | Mqdd <ahmadmiqdad27@gmail.com> | 2025-12-09 10:32:27 +0700 |
| commit | ea7edf0fee4949203e94360882590ea0c9bb3b0b (patch) | |
| tree | 8758d834989b96a93bfc06e552ce9793a15fde42 | |
| parent | b92137264988d43477da7d308ecc9ac7e68f36f1 (diff) | |
<Miqdad> done solr
| -rw-r--r-- | indoteknik_custom/models/keywords.py | 27 | ||||
| -rw-r--r-- | indoteknik_custom/views/keywords.xml | 2 |
2 files changed, 23 insertions, 6 deletions
diff --git a/indoteknik_custom/models/keywords.py b/indoteknik_custom/models/keywords.py index de7636b7..fd8603c6 100644 --- a/indoteknik_custom/models/keywords.py +++ b/indoteknik_custom/models/keywords.py @@ -11,8 +11,8 @@ from bs4 import BeautifulSoup _logger = logging.getLogger(__name__) -# solr = pysolr.Solr('http://10.148.0.5:8983/solr/keywords/', always_commit=True, timeout=30) -solr = pysolr.Solr('http://127.0.0.1:8983/solr/keywords/', always_commit=True, timeout=30) +# solr = pysolr.Solr('http://10.148.0.5:8983/solr/searchkey/', always_commit=True, timeout=30) +solr = pysolr.Solr('http://127.0.0.1:8983/solr/searchkey/', always_commit=True, timeout=30) class Keywords(models.Model): _name = 'keywords' @@ -29,6 +29,18 @@ class Keywords(models.Model): ) name = fields.Char('Name', compute="_compute_name") skip = fields.Boolean('Skip Generate Product', default=False) + url = fields.Char('Website URL', compute="_compute_url") + + @api.depends('keywords') + def _compute_url(self): + prefix = "https://indoteknik.com/searchkey/" + for record in self: + if record.keywords: + slug = re.sub(r'[^a-zA-Z0-9]+', '-', record.keywords.strip().lower()) + slug = slug.strip('-') + record.url = prefix + slug + else: + record.url = False def _compute_name(self): for record in self: @@ -84,6 +96,9 @@ class Keywords(models.Model): product_ids = [r[0] for r in rows] + if not product_ids: + raise UserError("Tidak berhasil menemukan barang") + record.with_context(skip_generate=True).write({ 'product_ids': [(6, 0, product_ids)] }) @@ -101,11 +116,11 @@ class Keywords(models.Model): for keyword in self.search([]): try: doc = { - 'id': f'keyword_{keyword.id}', + 'id': keyword.id, 'type_s': 'keyword', - 'name_s': keyword.keywords, - 'category_id_i': keyword.category_id.id if keyword.category_id else 0, - 'product_ids_ii': keyword.product_ids.ids, + 'keywords_t': keyword.keywords, + 'url_s': keyword.url, + 'product_ids_is': keyword.product_ids.ids, } documents.append(doc) data = doc diff --git a/indoteknik_custom/views/keywords.xml b/indoteknik_custom/views/keywords.xml index 2fc44ced..9145ec47 100644 --- a/indoteknik_custom/views/keywords.xml +++ b/indoteknik_custom/views/keywords.xml @@ -7,6 +7,7 @@ <tree > <field name="category_id" /> <field name="keywords" /> + <field name="url" /> <field name="product_ids" widget="many2many_tags" /> </tree> </field> @@ -26,6 +27,7 @@ <group> <field name="category_id" /> <field name="keywords" /> + <field name="url" /> <field name="product_ids" widget="many2many_tags" /> <field name="skip" /> </group> |
