2016-09-18 2 views
0

Ich mag die sign_in für OpenERP durch die öffentliche IP-Adresse des Benutzers steuern, dass ich den IP-Benutzer durch einen existenten IPWie bekomme ich die öffentliche IP-Adresse des Benutzers von Openerp?

um den Code zu vergleichen versucht, unten ist die öffentliche IP zeigt:

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

ich habe den Code von _altern_si_so Funktion in hr_attendance, modifiziert durch das Hinzufügen einiger Zeilen

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'])] 

Antwort

0
from openerp.http import request 

public_ip = request.httprequest.remote_addr 

Das Anfrageobjekt enthält die Wieder mote Adresse. Sie sollten darauf zugreifen und es für Ihre Bedürfnisse verwenden können.

+0

Ich denke, dass Ihr Code für odoo 8 korrekt ist –

Verwandte Themen