summaryrefslogtreecommitdiff
path: root/addons/website_event/controllers/main.py
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@odoo.com>2014-06-18 14:50:24 +0200
committerChristophe Matthieu <chm@odoo.com>2014-06-18 14:50:24 +0200
commit890a9ac65211f4ecf15919195bf6c355c866922e (patch)
tree4518919bc066f42169bb9301fe3fdfff22273bfb /addons/website_event/controllers/main.py
parent3160eb74c4432fd07887a59cc8ef461af4979da2 (diff)
[IMP] website: set geoip in user session
Diffstat (limited to 'addons/website_event/controllers/main.py')
-rw-r--r--addons/website_event/controllers/main.py30
1 files changed, 7 insertions, 23 deletions
diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py
index 16a6bd24edf..2e9aa4616d2 100644
--- a/addons/website_event/controllers/main.py
+++ b/addons/website_event/controllers/main.py
@@ -19,28 +19,18 @@
#
##############################################################################
-import logging
import time
from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
import werkzeug.urls
-from openerp import SUPERUSER_ID
from openerp import http
from openerp import tools
from openerp.http import request
from openerp.tools.translate import _
from openerp.addons.website.models.website import slug
-_logger = logging.getLogger(__name__)
-
-try:
- import GeoIP
-except ImportError:
- GeoIP = None
- _logger.warn("Please install GeoIP python module to use events localisation.")
-
class website_event(http.Controller):
@http.route(['/event', '/event/page/<int:page>'], type='http', auth="public", website=True)
def events(self, page=1, **searches):
@@ -214,10 +204,6 @@ class website_event(http.Controller):
event = Event.browse(request.cr, request.uid, event_id, context=context)
return request.redirect("/event/%s/register?enable_editor=1" % slug(event))
- def get_visitors_country(self):
- GI = GeoIP.open('/usr/share/GeoIP/GeoIP.dat', 0)
- return {'country_code': GI.country_code_by_addr(request.httprequest.remote_addr), 'country_name': GI.country_name_by_addr(request.httprequest.remote_addr)}
-
def get_formated_date(self, event):
start_date = datetime.strptime(event.date_begin, tools.DEFAULT_SERVER_DATETIME_FORMAT).date()
end_date = datetime.strptime(event.date_end, tools.DEFAULT_SERVER_DATETIME_FORMAT).date()
@@ -225,21 +211,19 @@ class website_event(http.Controller):
@http.route('/event/get_country_event_list', type='http', auth='public', website=True)
def get_country_events(self ,**post):
- if not GeoIP:
- return ""
+ cr, uid, context, event_ids = request.cr, request.uid, request.context,[]
country_obj = request.registry['res.country']
event_obj = request.registry['event.event']
- cr, uid, context,event_ids = request.cr, request.uid, request.context,[]
- country_code = self.get_visitors_country()['country_code']
+ country_code = request.session['geoip'].get('country_code')
result = {'events':[],'country':False}
if country_code:
- country_ids = country_obj.search(request.cr, request.uid, [('code', '=', country_code)], context=request.context)
- event_ids = event_obj.search(request.cr, request.uid, ['|', ('address_id', '=', None),('country_id.code', '=', country_code),('date_begin','>=', time.strftime('%Y-%m-%d 00:00:00')),('state', '=', 'confirm')], order="date_begin", context=request.context)
+ country_ids = country_obj.search(cr, uid, [('code', '=', country_code)], context=context)
+ event_ids = event_obj.search(cr, uid, ['|', ('address_id', '=', None),('country_id.code', '=', country_code),('date_begin','>=', time.strftime('%Y-%m-%d 00:00:00')),('state', '=', 'confirm')], order="date_begin", context=context)
if not event_ids:
- event_ids = event_obj.search(request.cr, request.uid, [('date_begin','>=', time.strftime('%Y-%m-%d 00:00:00')),('state', '=', 'confirm')], order="date_begin", context=request.context)
- for event in event_obj.browse(request.cr, request.uid, event_ids, context=request.context)[:6]:
+ event_ids = event_obj.search(cr, uid, [('date_begin','>=', time.strftime('%Y-%m-%d 00:00:00')),('state', '=', 'confirm')], order="date_begin", context=context)
+ for event in event_obj.browse(cr, uid, event_ids, context=context)[:6]:
if country_code and event.country_id.code == country_code:
- result['country'] = country_obj.browse(request.cr, request.uid, country_ids[0], context=request.context)
+ result['country'] = country_obj.browse(cr, uid, country_ids[0], context=context)
result['events'].append({
"date": self.get_formated_date(event),
"event": event,