From f19d179bb0311df7d79cdef7f2726e0ccb6b9e27 Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Tue, 6 Sep 2016 12:01:50 +0200 Subject: [PATCH] [FIX] link_tracker: fix link tracer when no geoip in session The `geoip` is not always defined in the session, and therefore one needs to check it's defined before attempting to use it. The same is done at different places in the code, through the different modules. opw-687783 --- addons/link_tracker/controller/main.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/link_tracker/controller/main.py b/addons/link_tracker/controller/main.py index 1d7707fb65a..1f6caf4f7f4 100644 --- a/addons/link_tracker/controller/main.py +++ b/addons/link_tracker/controller/main.py @@ -8,6 +8,7 @@ from openerp.http import request class link_tracker(http.Controller): @http.route('/r/', type='http', auth='none', website=True) def full_url_redirect(self, code, **post): - request.env['link.tracker.click'].add_click(code, request.httprequest.remote_addr, request.session['geoip'].get('country_code'), stat_id=False) + country_code = request.session.geoip and request.session.geoip.get('country_code') or False + request.env['link.tracker.click'].add_click(code, request.httprequest.remote_addr, country_code, stat_id=False) redirect_url = request.env['link.tracker'].get_url_from_code(code) return werkzeug.utils.redirect(redirect_url or '', 301)