summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/blog_post.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2023-02-23 10:27:19 +0700
committerstephanchrst <stephanchrst@gmail.com>2023-02-23 10:27:19 +0700
commit75aabb813212ab796a10ee74f7f24e337d6b7ca0 (patch)
treedf2cd1b933f1fe58d6ecda894de7f43c89c8fc46 /indoteknik_custom/models/blog_post.py
parent861bb64e5a972b8ce9b09d2345dbb6250d041435 (diff)
add blog replace keyword to link
Diffstat (limited to 'indoteknik_custom/models/blog_post.py')
-rw-r--r--indoteknik_custom/models/blog_post.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/indoteknik_custom/models/blog_post.py b/indoteknik_custom/models/blog_post.py
index 27f0c125..6e96a311 100644
--- a/indoteknik_custom/models/blog_post.py
+++ b/indoteknik_custom/models/blog_post.py
@@ -1,4 +1,9 @@
from odoo import models, fields
+from odoo.exceptions import UserError
+import logging
+import re
+
+_logger = logging.getLogger(__name__)
class BlogPost(models.Model):
@@ -9,3 +14,33 @@ class BlogPost(models.Model):
thumbnail_256 = fields.Image("Thumbnail 256", related="thumbnail", max_width=256, max_height=256, store=True)
thumbnail_512 = fields.Image("Thumbnail 512", related="thumbnail", max_width=512, max_height=512, store=True)
thumbnail_1024 = fields.Image("Thumbnail 1024", related="thumbnail", max_width=1024, max_height=1024, store=True)
+ replace_click = fields.Boolean(string='Replace Clicked', help='Penanda bahwa Replace Keyword sudah di klik atau belum')
+ category_id = fields.Many2one(string='Product Category', help='Untuk replace keyword sesuai product category yang dipilih')
+
+ def replace_keyword_to_link(self):
+ if self.replace_click:
+ raise UserError('Sudah pernah di click')
+ query = [
+ ('level', '=', 'level4')
+ # ('id', '=', 1057) for debug only
+ ]
+ categories = self.env['product.public.category'].search(query, order='id')
+ for category in categories:
+ category_name = category.name
+ category_name = category_name.replace(' ', '+')
+ link_url = '<a href="https://indoteknik.com/shop/search?product_name=' + category_name + '">' + category.name + '</a>'
+
+ query = [
+ ('content', 'ilike', category.name)
+ ]
+ # blogs = self.env['blog.post'].search(query, order='id')
+
+ # for blog in blogs:
+ content = self.content
+ compiled = re.compile(re.escape(category.name), re.IGNORECASE)
+ res = compiled.sub(link_url, content)
+ # content = content.replace(category.name, link_url)
+ self.content = res
+ _logger.info('Blog: Success Replace text to URL %s' % self.id)
+
+ self.replace_click = True