RATIONALE Events are sometimes held online, gathering a community. In this merge we improve Event application to better support full-online events with improved tracks, wishlists, chat rooms, ... PURPOSE Ensure to have a visitor when people registers, in order to enable wishlist or notifications. Improve visitor model to keep information when people change device. SPECIFICATIONS: REGISTRATION FLOW This commit ensures a visitor is created when a registration is done on an event. Creation is done only if a visitor does not already exists like all visitor-based flows. In case of multiple registrations made by the same visitor, only the first registration is linked to the created/existing visitor. We take the opportunity to update the visitor's information based on the registration's infos. We also add some fields to get all visitors from an event, based on visitor and registration link. This could be used for example to contact them, like sending a mailing or push notification to all attendees of an event. SPECIFICATIONS: VISITOR LOGIN / INFORMATION UPDATE When a user is linked to a visitor (e.g. when customer logs in) its partner is propagated to the registration. Using visitor as middle-model it allows to propagate information through those models, leading to better contact data notably. SPECIFICATIONS: VISITOR IMPROVEMENTS + PUSH TOKEN In this commit we improve visitor behavior. Currently when there are several visitors that may be linked to the same user, only the last one is kept and other one are unlinked. However visitor model holds push tokens, allowing to store approval for push notifications. Unlinking records is therefore a bad idea as we may loose information. In order to solve this an intermediate solution is implemented. A new parent_id field is added on visitors. Instead of unlinking "duplicates" we link them to the parent and de-activate them. This means more visitors are present in database, but this is required to keep push tokens. A better solution would probably be to separate visitor from push tokens but as this merge targets a stable version it was difficult to do in a clean way. LINKS Community PR #53540 Enterprise PR odoo/enterprise#11384 Task ID-2252655 (Main Online Event task) Task ID-2283796 (Event B2Basics / Registration Flow Task ID-2284043 (Visitor-based track wishlist) Task ID-2283869 (Notify attendees by push) Co-Authored-By: Aurélien Warnon <awa@odoo.com> Co-Authored-By: David Beguin <dbe@odoo.com> Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Odoo Website Builder
Get an awesome and free website, easily customizable with the Odoo website builder.
Create enterprise grade website with our super easy builder. Use finely designed building blocks and edit everything inline.
Benefit from out-of-the-box business features; e-Commerce, events, blogs, jobs announces, customer references, call-to-actions, etc.
Edit Anything Inline
Create beautiful websites with no technical knowledge. Odoo's unique 'edit inline' approach makes website creation surprisingly easy. No more complex backend; just click anywhere to change any content.
"Want to change the price of a product? or put it in bold? Want to change a blog title?" Just click and change. What you see is what you get. Really.
Awesome. Astonishingly Beautiful.
Odoo's building blocks allow to design modern websites that are not possible with traditional WYSIWYG page editors.
Whether it's for products descriptions, blogs or static pages, you don't need to be a professioanl designer to create clean contents. Just drag and drop and customize predefined building blocks.
Enterprise-Ready, out-of-the-box
Activate ready-to-use enterprise features in just a click; e-commerce, call-to-actions, jobs announces, events, customer references, blogs, etc.
Traditional eCommerce and CMS have poorly designed backends as it's not their core focus. With the Odoo integration, you benefit from the best management software to follow-up on your orders, your jobs applicants, your leads, etc.
A Great Mobile Experience
Get a mobile friendly website thanks to our responsive design based on bootstrap. All your pages adapt automatically to the screen size. (mobile phones, tablets, desktop) You don't have to worry about mobile contents, it works by default.
SEO tools at your finger tips
The Promote tool suggests keywords according to Google most searched terms. Search Engine Optimization tools are ready to use, with no configuration required.
Google Analytics tracks your shopping cart events by default. Sitemap and structured content are created automatically for Google indexation.
Multi-Languages Made Easy
Get your website translated in multiple languages with no effort. Odoo proposes and propagates translations automatically across pages, following what you edit on the master page.
Benefit from professional translators to translate all your contents automatically with the Gengo integration. Update any part of your website and the translated versions are pushed automatically in a few hours.
Designer-Friendly Templates
Templates are awesome and easy to design. You don't need to develop to create new pages, themes or building blocks. We use a clean HTML structure, a bootstrap CSS.
Customize every page on the fly with the integrated template editor. Distribute your work easily as an Odoo module.
Fluid Grid Layouting
Design perfect pages by drag and dropping building blocks. Move and scale them to fit the layout you are looking for.
Building blocks are based on a responsive, mobile friendly fluid grid system that appropriately scales up to 12 columns as the device or viewport size increases.
Professional Themes
Design a custom theme or reuse pre-defined themes to customize the look and feel of your website.
Test new color scheme easily; you can change your theme at any time in just a click.
Integrated With Odoo Apps
e-Commerce
Promote products, sell online, optimize visitors' shopping experience.
Blogs
Write news, attract new visitors, build customer loyalty.
Online Events
Schedule, organize, promote or sell events online; conferences, trainings, webinars, etc.