44 lines
2.4 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import base64
from odoo.addons.website_event.controllers.main import WebsiteEventController
from odoo.tools import plaintext2html
class WebsiteEventBoothController(WebsiteEventController):
def _prepare_booth_registration_values(self, event, kwargs):
booth_values = super(WebsiteEventBoothController, self)._prepare_booth_registration_values(event, kwargs)
if not booth_values.get('contact_email'):
booth_values['contact_email'] = kwargs.get('sponsor_email')
if not booth_values.get('contact_name'):
booth_values['contact_name'] = kwargs.get('sponsor_name')
if not booth_values.get('contact_phone'):
booth_values['contact_phone'] = kwargs.get('sponsor_phone')
booth_values.update(**self._prepare_booth_registration_sponsor_values(event, booth_values, kwargs))
return booth_values
def _prepare_booth_registration_partner_values(self, event, kwargs):
if not kwargs.get('contact_email') and kwargs.get('sponsor_email'):
kwargs['contact_email'] = kwargs['sponsor_email']
if not kwargs.get('contact_name') and kwargs.get('sponsor_name'):
kwargs['contact_name'] = kwargs['sponsor_name']
if not kwargs.get('contact_phone') and kwargs.get('sponsor_phone'):
kwargs['contact_phone'] = kwargs['sponsor_phone']
return super(WebsiteEventBoothController, self)._prepare_booth_registration_partner_values(event, kwargs)
def _prepare_booth_registration_sponsor_values(self, event, booth_values, kwargs):
sponsor_values = {
'sponsor_name': kwargs.get('sponsor_name') or booth_values.get('contact_name'),
'sponsor_email': kwargs.get('sponsor_email') or booth_values.get('contact_email'),
'sponsor_mobile': kwargs.get('sponsor_mobile') or booth_values.get('contact_phone'),
'sponsor_phone': kwargs.get('sponsor_phone') or booth_values.get('contact_phone'),
'sponsor_subtitle': kwargs.get('sponsor_slogan'),
'sponsor_website_description': plaintext2html(kwargs.get('sponsor_description')) if kwargs.get('sponsor_description') else '',
'sponsor_image_512': base64.b64encode(kwargs['sponsor_image'].read()) if kwargs.get('sponsor_image') else False,
}
return sponsor_values