我希望通过用户的公有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'])]发布于 2016-09-18 19:33:27
from openerp.http import request
public_ip = request.httprequest.remote_addr请求对象包含远程地址。您应该能够访问它并使用它来满足您的需求。
https://stackoverflow.com/questions/39556890
复制相似问题