|
|
@ -13,6 +13,7 @@ from odoo.addons.web.controllers.main import ensure_db, Home |
|
|
|
from odoo.addons.website_event.controllers.main import WebsiteEventController |
|
|
|
from odoo.addons.payment.controllers.portal import PaymentProcessing |
|
|
|
from odoo.addons.sale.controllers.portal import CustomerPortal |
|
|
|
|
|
|
|
from odoo.addons.portal.controllers.portal import pager as portal_pager, get_records_pager |
|
|
|
from odoo.addons.auth_signup.models.res_users import SignupError |
|
|
|
from odoo.addons.auth_signup.controllers.main import AuthSignupHome |
|
|
@ -20,6 +21,8 @@ import json |
|
|
|
|
|
|
|
_logger = logging.getLogger(__name__) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class KalaAuthSignupHome(Home): |
|
|
|
@http.route('/web/signup', type='http', auth='public', website=True, sitemap=False) |
|
|
|
def kalachakra_web_auth_signup(self, *args, **kw): |
|
|
@ -60,6 +63,51 @@ class KalaAuthSignupHome(Home): |
|
|
|
|
|
|
|
class kalachakra_event(WebsiteEventController,PaymentProcessing): |
|
|
|
|
|
|
|
#afficher la liste des prochains événement sur la home page (sans les retraites ! ) |
|
|
|
@http.route('/event/get_country_booking_event_list', type='json', auth='public', website=True) |
|
|
|
def get_country_booking_events(self, **post): |
|
|
|
|
|
|
|
Event = request.env['event.event'] |
|
|
|
country_code = request.session['geoip'].get('country_code') |
|
|
|
result = {'events': [], 'country': False} |
|
|
|
events = None |
|
|
|
domain = request.website.website_domain() |
|
|
|
if country_code: |
|
|
|
country = request.env['res.country'].search([('code', '=', country_code)], limit=1) |
|
|
|
events = Event.search(domain + ['&','|', ('address_id', '=', None), ('country_id.code', '=', country_code), ('date_begin', '>=', '%s 00:00:00' % fields.Date.today()),('booking_event','=',True)], order="date_begin") |
|
|
|
if not events: |
|
|
|
events = Event.search(domain + [('booking_event','=',True),('date_begin', '>=', '%s 00:00:00' % fields.Date.today())], order="date_begin") |
|
|
|
for event in events: |
|
|
|
if country_code and event.country_id.code == country_code: |
|
|
|
result['country'] = country |
|
|
|
result['events'].append({ |
|
|
|
"date": self.get_formated_date(event), |
|
|
|
"event": event, |
|
|
|
"url": event.website_url}) |
|
|
|
return request.env['ir.ui.view']._render_template("kalachakra.country_booking_events_list", result) |
|
|
|
|
|
|
|
@http.route('/event/get_country_event_list', type='json', auth='public', website=True) |
|
|
|
def get_country_events(self, **post): |
|
|
|
|
|
|
|
Event = request.env['event.event'] |
|
|
|
country_code = request.session['geoip'].get('country_code') |
|
|
|
result = {'events': [], 'country': False} |
|
|
|
events = None |
|
|
|
domain = request.website.website_domain() |
|
|
|
if country_code: |
|
|
|
country = request.env['res.country'].search([('code', '=', country_code)], limit=1) |
|
|
|
events = Event.search(domain + ['&','|', ('address_id', '=', None), ('country_id.code', '=', country_code), ('date_begin', '>=', '%s 00:00:00' % fields.Date.today()),('booking_event','=',False)], order="date_begin") |
|
|
|
if not events: |
|
|
|
events = Event.search(domain + [('booking_event','=',False),('date_begin', '>=', '%s 00:00:00' % fields.Date.today())], order="date_begin") |
|
|
|
for event in events: |
|
|
|
if country_code and event.country_id.code == country_code: |
|
|
|
result['country'] = country |
|
|
|
result['events'].append({ |
|
|
|
"date": self.get_formated_date(event), |
|
|
|
"event": event, |
|
|
|
"url": event.website_url}) |
|
|
|
return request.env['ir.ui.view']._render_template("website_event.country_events_list", result) |
|
|
|
|
|
|
|
def _extract_searched_event_tags(self, searches): |
|
|
|
tags = request.env['event.tag'] |
|
|
|
|
|
|
|