如何获取openerp用户的公共IP地址?

时间:2016-09-18 10:57:32

标签: python-2.7 ubuntu-12.04 openerp-7

我想通过用户的公共IP地址来控制openerp的sign_in,因为我试图用一个存在的IP来比较IP用户

以下代码显示了公共IP:

my_ip = urlopen('http://ip.42.pl/raw').read()

我通过添加一些行修改了hr_attendance中_altern_si_so函数的代码

def _altern_si_so(self, cr, uid, ids, context=None):

        if my_ip=='aa.aa.aa.aa': # Want to compare IP user by 'aa.aa.aa.aa'
            return False
    return True

msg = 'Error ! Sign in (resp. Sign out) must follow Sign out (resp. Sign in)'
my_ip = urlopen('http://ip.42.pl/raw').read()# get public ip address

_constraints = [(_altern_si_so, my_ip, ['action'])]

1 个答案:

答案 0 :(得分:0)

from openerp.http import request

public_ip = request.httprequest.remote_addr

请求对象包含远程地址。您应该能够访问它并根据您的需要使用它。