Odoo modules related to events management
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
from collections import defaultdict from odoo import _ from odoo.http import request, route
from odoo.addons.website_event_questions.controllers.main import WebsiteEventController
class WebsiteEventQep(WebsiteEventController): # def _process_attendees_form(self, event, form_details): # """Process data posted from the attendee details form. # Extracts question answers: # - For both questions asked 'once_per_order' and questions asked to every attendee # - For questions of type 'simple_choice', extracting the suggested answer id # - For questions of type 'text_box', extracting the text answer of the attendee. # """ # registrations = super(WebsiteEvent, self)._process_attendees_form( # event, form_details # )
def _create_attendees_from_registration_post(self, event, registration_data): if not any(info.get("event_ticket_id") for info in registration_data): return super()._create_attendees_from_registration_post( event, registration_data )
res = super()._create_attendees_from_registration_post(event, registration_data)
order_sudo = request.website.sale_get_order(force_create=True)
reg_answers = {} for data in registration_data: answers = data.get("registration_answer_ids")
# tickets_data = defaultdict(int) # for data in registration_data: # event_ticket_id = data.get("event_ticket_id") # if event_ticket_id: # tickets_data[event_ticket_id] += 1
# cart_data = {} # for ticket_id, count in tickets_data.items(): # ticket_sudo = request.env["event.event.ticket"].sudo().browse(ticket_id) # cart_values = order_sudo._cart_update( # product_id=ticket_sudo.product_id.id, # add_qty=count, # event_ticket_id=ticket_id, # ) # cart_data[ticket_id] = cart_values["line_id"]
# for data in registration_data: # event_ticket_id = data.get("event_ticket_id") # if event_ticket_id: # data["sale_order_id"] = order_sudo.id # data["sale_order_line_id"] = cart_data[event_ticket_id]
request.session["website_sale_cart_quantity"] = order_sudo.cart_quantity
return res
|