콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
1 회신
1265 화면

I am using the following code to get user ip information to record activity history, but the received ip is the ip of the active server, my Odoo server is deployed on ubuntu server 22.04


This is my code:

def _get_info_active(self):
"""
:return: ip_address, location, device_name
"""
try:
client_ip = request.httprequest.environ['REMOTE_ADDR']
location_info = {}
try:
response = requests.get(f'https://ipinfo.io/{client_ip}/json')
location_info = response.json()
except requests.RequestException:
location_info = {"error": "Could not retrieve location info"}

user_agent = request.httprequest.user_agent.string
return client_ip, f"{location_info.get('city')}, {location_info.get('region')}, {location_info.get('country')}", user_agent

except Exception as e:
raise UserError(str(e))
아바타
취소
베스트 답변

Check https://www.odoo.com/forum/help-1/how-to-check-when-a-user-was-last-active-odoo-18-264495 and https://github.com/odoo/odoo/blob/18.0/odoo/addons/base/models/res_device.py#L82 (maybe you can review our code to see how we do it)

아바타
취소
작성자

I can't find it on Odoo16

We did not add this until version 18

관련 게시물 답글 화면 활동
0
3월 15
4683
7
2월 24
12461
0
11월 17
4194
1
8월 25
515
1
5월 25
1328