[FIX] website_event_track: fixed method not allowed
Currently, while reloading following success page it return "Method not Allowed". * submit track proposal and reload * register for an event and reload this commit fix this error and successfully reload the page. closes odoo/odoo#70087 Task-id: 2500573 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit is contained in:
@@ -389,6 +389,19 @@ class WebsiteEventController(http.Controller):
|
||||
registrations = self._process_attendees_form(event, post)
|
||||
attendees_sudo = self._create_attendees_from_registration_post(event, registrations)
|
||||
|
||||
return request.redirect(('/event/%s/registration/success?' % event.id) + werkzeug.urls.url_encode({'registration_ids': ",".join([str(id) for id in attendees_sudo.ids])}))
|
||||
|
||||
@http.route(['/event/<model("event.event"):event>/registration/success'], type='http', auth="public", methods=['GET'], website=True, sitemap=False)
|
||||
def event_registration_success(self, event, registration_ids):
|
||||
# fetch the related registrations, make sure they belong to the correct visitor / event pair
|
||||
visitor = request.env['website.visitor']._get_visitor_from_request()
|
||||
if not visitor:
|
||||
raise NotFound()
|
||||
attendees_sudo = request.env['event.registration'].sudo().search([
|
||||
('id', 'in', [str(registration_id) for registration_id in registration_ids.split(',')]),
|
||||
('event_id', '=', event.id),
|
||||
('visitor_id', '=', visitor.id),
|
||||
])
|
||||
return request.render("website_event.registration_complete",
|
||||
self._get_registration_confirm_values(event, attendees_sudo))
|
||||
|
||||
|
||||
@@ -455,7 +455,19 @@ class EventTrackController(http.Controller):
|
||||
if request.env.user != request.website.user_id:
|
||||
track.sudo().message_subscribe(partner_ids=request.env.user.partner_id.ids)
|
||||
|
||||
return request.render("website_event_track.event_track_proposal", {'track': track, 'event': event, 'main_object': event})
|
||||
return request.redirect('/event/%s/track_proposal/success/%s' % (event.id, track.id))
|
||||
|
||||
@http.route(['/event/<model("event.event"):event>/track_proposal/success/<int:track_id>'], type='http', auth="public", methods=['GET'], website=True, sitemap=False)
|
||||
def event_track_proposal_success(self, event, track_id):
|
||||
track = request.env['event.track'].sudo().search([
|
||||
('id', '=', track_id),
|
||||
('partner_id', '=', request.env['website.visitor']._get_visitor_from_request().partner_id.id),
|
||||
('event_id', '=', event.id),
|
||||
])
|
||||
if not event.can_access_from_current_website() or not track:
|
||||
raise NotFound()
|
||||
|
||||
return request.render("website_event_track.event_track_proposal", {'track': track, 'event': event})
|
||||
|
||||
# ACL : This route is necessary since rpc search_read method in js is not accessible to all users (e.g. public user).
|
||||
@http.route(['''/event/track_tag/search_read'''], type='json', auth="public", website=True)
|
||||
|
||||
Reference in New Issue
Block a user