summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMqdd <ahmadmiqdad27@gmail.com>2025-12-09 10:32:27 +0700
committerMqdd <ahmadmiqdad27@gmail.com>2025-12-09 10:32:27 +0700
commitea7edf0fee4949203e94360882590ea0c9bb3b0b (patch)
tree8758d834989b96a93bfc06e552ce9793a15fde42
parentb92137264988d43477da7d308ecc9ac7e68f36f1 (diff)
<Miqdad> done solr
-rw-r--r--indoteknik_custom/models/keywords.py27
-rw-r--r--indoteknik_custom/views/keywords.xml2
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>