odoo10-重写登录方法

需求:在用户登录后,将用户登录信息生成一条记录到一个模型中。

代码:


# -- coding: utf-8 --
from odoo import models, fields, api, SUPERUSER_ID

class Users(models.Model):
    _inherit = "res.users"

    @classmethod
    def _login(cls, db, login, password):
        user_id = super(Users, cls)._login(db, login, password)

        """自定义代码部分开始"""
        data = {
            'user': user_id,
            'message': u"用户登录了系统"
        }
        with cls.pool.cursor() as cr:
            self = api.Environment(cr, SUPERUSER_ID, {})[cls._name]
            self.env['system_log.login_log'].sudo().create(data)
        """自定义代码部分结束"""

        return user_id    
Last modification:January 9th, 2019 at 11:44 am
If you think my article is useful to you, please feel free to appreciate

Leave a Comment