有没有一种方法可以执行一条命令来遍历所有路由,而不必输入每个路由集?

时间:2019-06-27 04:23:06

标签: odoo tr

我写了一个代码来计算访问该路由并检索该路由的url的次数,但是在这里我遇到了一个问题,即转到将代码放入其中的每条路由:

http.route (['/ bao-hanh ',' / bao-hanh-dien-tu '], website = True, type =' http ', auth =' public ')
     def warranty_e (self, ** kwargs):
        - request.website.count_page_access (request.env.uid, request.httprequest.url)

code.any解决方案,这样我就可以将所有代码分配给所有路由,而不必转到每个路由

@ api.model

def count_page_access(self, user_id, url):
    partner_id = self.env['res.users'].browse(user_id).partner_id or False
    if partner_id:
        history_page = self.env['page.counter.count'].search([('partner_id', '=', partner_id.id), ('url', '=', url)])
        if history_page:
            history_page.write({'count_connect': history_page.count_connect + 1})
        else:
            self.env['page.counter.count'].create({
                'partner_id': partner_id.id,
                'url': url,
                'count_connect': 1
            })

(1条路线)

http.route([
            '''/blog/<model("blog.blog"):blog>/post/<model("blog.post", "[('blog_id','=',blog[0])]"):blog_post>''',
    ], type='http', auth="public", website=True, blog_sitemap=True)
    def blog_post(self, blog, blog_post, tag_id=None, page=1, enable_editor=None, **post):
        request.website.count_page_access(request.env.uid, request.httprequest.url)
        return super(WebsiteBlogInherit, self).blog_post(blog, blog_post, tag_id, page, enable_editor, **post)

@ api.model

def count_page_access(self, user_id, url):
        partner_id = self.env['res.users'].browse(user_id).partner_id or False
        if partner_id:
            history_page = self.env['page.counter.count'].search([('partner_id', '=', partner_id.id), ('url', '=', url)])
            if history_page:
                history_page.write({'count_connect': history_page.count_connect + 1})
            else:
                self.env['page.counter.count'].create({
                    'partner_id': partner_id.id,
                    'url': url,
                    'count_connect': 1
                })

(1条路线)

http.route([
            '''/blog/<model("blog.blog"):blog>/post/<model("blog.post", "[('blog_id','=',blog[0])]"):blog_post>''',
    ], type='http', auth="public", website=True, blog_sitemap=True)
    def blog_post(self, blog, blog_post, tag_id=None, page=1, enable_editor=None, **post):
        request.website.count_page_access(request.env.uid, request.httprequest.url)
        return super(WebsiteBlogInherit, self).blog_post(blog, blog_post, tag_id, page, enable_editor, **post)

0 个答案:

没有答案