Files
odoo_source/addons/event/controllers/main.py
T
Patrick Hoste b13489ec99 [IMP] event: translate ics file to the frontend lang
This commit translate the ics file for an event to
the language chosen by the public user on the website.
For connected users, the ics file is translated to
the user's language.

Task-3199180

closes odoo/odoo#115599

X-original-commit: 2fa5ceaf2978036f44027c19abaf17afec1d5db3
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
2023-03-17 08:10:50 +01:00

26 lines
976 B
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from werkzeug.exceptions import NotFound
from odoo.http import Controller, request, route, content_disposition
class EventController(Controller):
@route(['''/event/<model("event.event"):event>/ics'''], type='http', auth="public")
def event_ics_file(self, event, **kwargs):
if request.env.user._is_public():
frontend_lang = request.httprequest.cookies.get('frontend_lang')
if frontend_lang:
event = event.with_context(lang=frontend_lang)
files = event._get_ics_file()
if not event.id in files:
return NotFound()
content = files[event.id]
return request.make_response(content, [
('Content-Type', 'application/octet-stream'),
('Content-Length', len(content)),
('Content-Disposition', content_disposition('%s.ics' % event.name))
])