summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/user_activity_log.py
blob: ab85d47fe4a2e618d8cd84f24a2cae9ff43833f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from odoo import models, fields
import logging, re

_logger = logging.getLogger(__name__)


class UserActivityLog(models.Model):
    _name = 'user.activity.log'
    _rec_name = 'page_title'

    page_title = fields.Char(string="Judul Halaman")
    url = fields.Char(string="URL")
    res_user_id = fields.Many2one("res.users", string="User")
    email = fields.Char(string="Email")
    update_product = fields.Boolean(string="Update Product")

    def clean_activity_log(self):
        self.env['user.activity.log'].search([
            ('email', 'not ilike', '%@%'),
        ]).unlink()

    def update_rank_search(self):
        activity_logs = self.env['user.activity.log'].search([
            ('url', 'ilike', '%/shop/product/%'),
            ('update_product', '=', False),
            # ('url', 'not ilike', '%/shop/product/%google-ads-shopping'),
            # ('id', '=', 211957)
        ], limit=1000)

        for activity_log in activity_logs:
            _logger.info(activity_log.url)
            strip_index = i = 0
            for c in activity_log.url:
                if c == '-':
                    strip_index = i
                i += 1
            _logger.info(activity_log.url[strip_index+1:len(activity_log.url)])
            product_id = activity_log.url[strip_index+1:len(activity_log.url)]
            if '#' in product_id:
                continue
            if any(ch.isalpha() for ch in product_id):
                continue
            template = self.env['product.template'].search([
                ('id', '=', product_id)
            ], limit=1)
            template.search_rank += int(template.search_rank+1)
            activity_log.update_product = True