Skip to content
Snippets Groups Projects
  1. Aug 05, 2020
  2. Aug 04, 2020
  3. Aug 05, 2020
    • Thibault Delavallée's avatar
      [FW][FIX] website_event_track_(online, session): do not display colorless tags · cba84484
      Thibault Delavallée authored
      
      Colorless tags on tracks are considered as used in backend only for
      internal organization. They should not be displayed in frontend
      notably
      
        * not in search dropdowns;
        * not in agenda;
        * not in cards / list views;
      
      If a tag category holds only colorless tags, do not display as a void search
      dropdown in frontend, hide it.
      
      Followup of 981f95bbf46658eda9f2d33751b9310cc67d86aa
      
      closes odoo/odoo#55445
      
      X-original-commit: 5c09e2135cda2c76b179d264ff4e49a4909d5285
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      cba84484
    • Romeo Fragomeli's avatar
      [FIX] portal: Avoid error at login with portal user on mobile · 5a845325
      Romeo Fragomeli authored
      
      Before this commit, some errors were shown to the end user when
      he tried to login to the mobile app with a portal user.
      The problem is the user was stuck to a blank page and wasn't
      able to logout even after reloading the app.
      
      Note that even if portal users aren't supposed to access to the
      backend, it's quite annoying to not be able to go back.
      
      After this commit, portal users are automatically redirected to
      the portal page ("/my") if they try go to "/web". This is the same
      behavior as when portal users login via "/web/login".
      By doing this we avoid having custom code in the native apps
      because we already avoid any login to the app if we are out of "/web".
      
      Note: this commit doesn't cover all cases as portal users are defined in
      the "base" module and the portal page is set in the "portal" module.
      So this this fix will not work if "portal" is not installed and if you
      manually created a portal user (only possible in debug mode).
      This is unlikely and we therefore consider that this fix covers the
      majority of cases while being the safest.
      
      Task ID: 2266024
      opw-2281168
      
      closes odoo/odoo#55439
      
      X-original-commit: 29cbba73
      Signed-off-by: default avatarAdrien Dieudonné (adr) <adr@odoo.com>
      5a845325
  4. Jul 30, 2020
  5. Jul 17, 2020
    • shs-odoo's avatar
      [IMP] base,base_setup: Improve general languages settings · d35adaa0
      shs-odoo authored
      
      Purpose of the task is, We saw that users encounter difficulties
      while installing languages so improve the user onboarding experience
      when user wants to install a new language.
      
      So in this commit,
       - Change the load langauge wizard title as 'Add Language' and rename
      the button as 'Add'
       - Removed documentation link as it is not up to date
       - Added the 'Add language' button to general settings and it will open
      the wizard to load the languages. and move the 'manage language' button
      to the debug mode.
       - After install added button 'switch to (lang)	& close' to switch to
      newly added language.
      
      closes odoo/odoo#53581
      
      Taskid: 2281393
      Closes: #53581
      Signed-off-by: default avatarYannick Tivisse (yti) <yti@odoo.com>
      Co-authored-by: default avatarNisha Patel <nit@odoo.com>
      d35adaa0
  6. Aug 04, 2020
    • Arnold Moyaux's avatar
      [FIX] stock: duplicated set_values · 00dd5b22
      Arnold Moyaux authored
      
      commit 51425344bb96c3b2fee8c813549bbd4561172790 introduced
      a duplicated set_values so the original one is ingored and
      the transit location is never acivated
      
      closes odoo/odoo#55419
      
      X-original-commit: 6dba1f24
      Signed-off-by: default avatarArnold Moyaux <amoyaux@users.noreply.github.com>
      00dd5b22
    • Odoo's Mergebot's avatar
      [FW][MERGE] website_event_*: support Online Events · 91e3cb9d
      Odoo's Mergebot authored
      
      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
      
      In this merge, we add several features allowing to improve event experience
      in your website, especially when dealing with fully online events. Those
      features are added in several new modules :
      
        * website_jitsi: allow to manage jitsi-based chat rooms, with widget to
          integrate into website pages;
        * website_event_online: website_event upgrades required to support online
          event;
        * website_event_track_online: website_event_track upgrades required to
          support online tracks, including visitor wishlist and PWA;
        * website_event_meet: chat and discussions rooms online, allowing to gather
          a community online in an event;
        * website_event_track_exhibitor: sponsors -> exhibitors upgrade with chat
          capabilities, new list and page views;
        * website_event_track_session: new session-based tracks display and
          management, new list and page views;
        * website_event_track_live: support youtube and streaming on tracks, as well
          as improved next video suggestion;
        * website_event_track_quiz: add gamification tools on tracks. Allow to gain
          points with quizzes on talks;
      
      As well as some bridge modules
      
        * website_event_meet_quiz: integrate leaderboard in community rooms;
        * website_event_track_live_quiz: integrate quiz and streaming;
      
      See sub commits of this merge for more details and complete specifications
      of all those new modules.
      
      THANKS TO MIGHTY SM
      
      This merge is a joint work of members of SM Team, namely @awa-odoo @dbeguin
      and @tde-banana-odoo for the global followup of the project. Additional workforce
      came from @qmo-odoo and @std-odoo , with inputs from @edi-odoo (design)
      and @pparidans (PWA). This project was followed by @LNAodoo for specifications.
      
      LINKS
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283796 (Event B2Basics / Registration Flow)
      Task ID-2299857 (Event Design Review)
      Task ID-2284043 (Visitor-based track wishlist)
      Task ID-2283869 (Notify attendees by push)
      Task ID-2283738 (Sponsors -> Exhibitors upgrade)
      Task ID-2283735 (Talks -> Session upgrade)
      Task ID-2283729 (Live/Youtube Tracks)
      Task ID-2283771 (Quizzes on Talks, Leaderboard)
      Task ID-2283742 (Community gathering on chat rooms)
      Task ID-2291344 (Integrate Twitter Wall)
      
      See also
      Task ID-2290016 (Visitor synchronization improvements) 86708c7
      Task ID-2289148 (Event Bugprovements 1) 83c8012
      Task ID-2300907 (Event Bugprovements 2) 0575092
      Task ID-2304817 (Event Bugprovements 3) 3498640
      Task ID-2309702 (Event Preparatory Merge 4) 2b5c0b4
      Task ID-2310491 (Event Preparatory Merge 5) 69d2513
      Task ID-2287372 (Fix Twitter Wall) odoo/enterprise@4843313
      Task ID-2309964 (Color on track) ab1c1a9
      Also 93aacc5 and 19d028a
      
      Community PR #53540
      Enterprise PR odoo/enterprise#11384
      
      closes odoo/odoo#55402
      
      Ps: New Event Yaaay !
      Forward-port-of: #53540
      Related: odoo/enterprise#12195
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      Unverified
      91e3cb9d
    • Pierre Paridans's avatar
      [IMP] website_event_track_online: add PWA support · bf2aead3
      Pierre Paridans authored
      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
      
      Add PWA support. This will improve adoption and use of our Events application.
      
      LINKS
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283796 (Event B2Basics / Registration Flow)
      Task ID-1896623 (PWA Support)
      bf2aead3
    • Thibault Delavallée's avatar
      [ADD] test_event_full: add a test module containing a whole event-online flow · 0ba681f9
      Thibault Delavallée authored
      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
      
      Have a module to test all those new features.
      
      SPECIFICATIONS
      
      Do as much tests as possible, which will probably be around "no time". At
      least have a base module allowing to add them after main merge.
      
      LINKS
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283796 (Event B2Basics / Registration Flow)
      Task ID-2299857 (Event Design Review)
      Task ID-2284043 (Visitor-based track wishlist)
      Task ID-2283869 (Notify attendees by push)
      Task ID-2283738 (Sponsors -> Exhibitors upgrade)
      Task ID-2283735 (Talks -> Session upgrade)
      Task ID-2283729 (Live/Youtube Tracks)
      Task ID-2283771 (Quizzes on Talks, Leaderboard)
      Task ID-2283742 (Community gathering on chat rooms)
      Task ID-2291344 (Integrate Twitter Wall)
      0ba681f9
    • qmo-odoo's avatar
      [ADD] website_event_meet_quiz: integrate quiz within meet "Community" page · 10e162d3
      qmo-odoo authored
      
      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
      
      This bridge module enables a better integration of the quiz features within the
      website_event_meet "Community" frontend page.
      
      SPECS
      
      As both quiz and meet share the "Community" frontend page, this bridge adds a
      small block on the existing meet template to display the top 3 of the quiz
      leaderboard.
      
      A link on that block allows users to reach the full leaderboard page where they
      can see their own position and perform a simple search for other attendees.
      
      LINKS
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283771 (Quizzes on Talks, Leaderboard)
      Task ID-2283742 (Community gathering on chat rooms)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarQuentin Mourier <qmo@odoo.com>
      Co-Authored-By: default avatarStéphane Debauche <std@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      10e162d3
    • Aurélien Warnon's avatar
      [ADD] website_event_track_live_quiz: integrate quiz within live track · 92caab19
      Aurélien Warnon authored
      
      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
      
      This bridge module enables a better integration of the quiz features within the
      "next track suggestion" at the end of a track video.
      
      The track suggestion mechanism will let the user choose to take the quiz before
      being redirected to the next track. If he takes no action, he is redirected
      automatically.
      
      LINKS
      
      Task ID-2283735 (Talks -> Session upgrade)
      Task ID-2283729 (Live/Youtube Tracks)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarQuentin Mourier <qmo@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      92caab19
    • qmo-odoo's avatar
      [ADD] website_event_track_quiz: add quiz feature on event.track · fe17857e
      qmo-odoo authored
      
      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
      
      Allow to configure a quiz on event tracks, much like eLearning.
      The quiz is taken at the end of the live stream / track video.
      (Or when the talk is 'live' of 'done').
      
      SPECIFICATIONS
      
      Users can now configure an event.quiz on event.track.
      
      The quiz is a simple collection of event.quiz.questions that in turn contain
      a few event.quiz.answers.
      Only one of the answer is considered as correct and should be configured with
      "awarded_points" greater than 0.
      
      On the event.track frontend page, attendees can take the quiz when the track
      is "live" (or "done") and earn the total amount of configured awarded_points.
      Each quiz can only be taken once (if you fail, you can't try again).
      
      Attendees are then ranked in a leaderboard that is displayed in the "Community"
      section of the event frontend menus.
      The leaderboard allows to see your own position as well as basic search for
      other attendees.
      The points earned during the event are event-specific and will not be shared
      with other instances of event.event.
      
      Points as well as quiz completion are stored in the relationship between a
      visitor and a track (event.track.visitor).
      
      The models are very much based on a similar feature in website_slides, even
      though the implementation in event is not karma based.
      We will probably have to merge the features later into a base gamification_quiz
      module.
      
      LINKS
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283771 (Quizzes on Talks, Leaderboard)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarQuentin Mourier <qmo@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      fe17857e
    • Aurélien Warnon's avatar
      [ADD] website_event_track_live: configure Youtube videos / streams on event.tracks · fab82c73
      Aurélien Warnon authored
      
      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
      
      Allow to include a youtube video / live stream on event tracks and update the
      interface to show "online" capabilities.
      
      SPECIFICATIONS
      
      This commit improves the existing event.tracks to include the possibility to
      configure a Youtube live stream or video.
      
      The frontend view of the track was adapted accordingly to show the stream /
      video instead of the track description when available.
      
      At the end of the video, the track view will automatically suggest a next track
      to the attendee in order to keep him looping through interesting tracks.
      Those suggestions are based on an algorithm that tries to select the track that
      would be the most interesting to this attendee based on his wishlist, similar
      tags with current track, same room, ...
      
      In addition, we automatically fallback to a Youtube thumbnail for tracks
      website image when available.
      
      We support two youtube modes
      
        * streaming: start and end of video is detected based on youtube API;
        * replay: boolean flag on track, telling the video is a static one, allowing
          to know by advance the end of video, and to pre-compute thumbnail and give
          early access if necessary;
      
      KNOWN LIMITATIONS
      
      Tracks do not hold any protection for payment-based tickets. Everything that
      is published is available using standard ACLs. Content protection based on
      tickets is currently not supported.
      
      LINKS
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283735 (Talks -> Session upgrade)
      Task ID-2283729 (Live/Youtube Tracks)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      fab82c73
    • Thibault Delavallée's avatar
      [ADD] website_event_track_session: new session mode for tracks · e73ec2dd
      Thibault Delavallée authored
      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
      
      Purpose of this commit is to completely redesign the talks pages and frontend
      flow. Notably better showcase live or upcoming talks, have a usable tracks list,
      provide reworked page view with tracks suggestions, ...
      
      SPECIFICATIONS
      
      Mockups are given in https://docs.google.com/presentation/d/1VSxp2luUvp9xLFq9d1Wy-6IC0mP0NA8vLmh44WE5PCs/edit#slide=id.g891af57392_0_84
      
      
      
      Main ideas are
      
        * new pages: view for all tracks and view for a specific track
        * list view: display two sections (Live Now, Coming Soon) displaying track
          cards. After that a list view of tracks by date. This page allows to filter
          tracks on tags and search on them;
        * page view: revamped view of a track. Two tabs: main content holds track
          description and information. Aside tab contains suggestions of tracks
          based on a given heuristics;
      
      SPECIFICATIONS: LIST VIEW: LIVE SECTIONS
      
      Have 2 sections: Live Now and Coming Soon. Live Now contains tracks currently
      running. Coming Soon displays tracks that begins within 30 minutes.
      
      In those sections, tracks are listed as cards with basic informations: cover
      picture, title, speakers, remaining time before start or time since it has
      started, ... Use the reminder widget to allow people to wishlist tracks.
      
      Clicking on a card redirect to the track page view.
      
      SPECIFICATIONS: LIST VIEW
      
      Display a list view of tracks under those sections. Use a table-like display
      in desktop, more card-based in mobile to ease reading. Each day is a section
      of the list view, a bit like the agenda. For each track, display its name,
      tags, speaker, duration. If it starts today, display remaining time. Otherwise
      display its start datetime. For done tracks, do not display any time
      information as it is not useful anymore. Display reminder widget on tracks
      that are not done.
      
      Accepted stages should be displayed text-only to customers. That way they
      know the track exists but they cannot see the track page. Even managers
      see links to be able to edit or publish tracks.
      
      SPECIFICATIONS: PAGE VIEW
      
      Display a main content tab, with track description and speaker information.
      
      Display an aside tab, with track suggestions following this heuristics
        * live first;
        * then ordered by start date, finished being sent to the end;
        * wishlisted (manually or by default);
        * tag matching with current track;
        * location matching with current track;
        * finally a random to have an "equivalent wave" randomly given;
      As with track list, accepted tracks are not clickable for customers.
      
      In mobile, main content should take the whole screen and aside should be
      collapsed. That way we put emphasis on main content.
      
      SPECIFICATIONS: CTA BUTTON
      
      Allow to configure "Call to action" button on a track. It is now possible to
      give configuration of a button that appears on the track page view, above the
      other track suggestions tab.
      
      This CTA should be configured using: its name, its URL, and its delay compared
      to the track beginning. Before this delay it is not displayed. JS widget ensure
      button is displayed even if the page is not reloaded, to make a super wow
      effect especially with live session on track.
      
      KNOWN LIMITATIONS
      
      Tracks do not hold any protection for payment-based tickets. Everything that
      is published is available using standard ACLs. Content protection based on
      tickets is currently not supported.
      
      LINKS
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283735 (Talks -> Session upgrade)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      e73ec2dd
    • Aurélien Warnon's avatar
      [ADD] website_event_track_exhibitor: new sponsor display and management · 813ba652
      Aurélien Warnon authored
      ATIONALE
      
      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
      
      Purpose of this commit is to completely redesign the talks pages and frontend
      flow. Notably better showcase live or upcoming talks, have a usable tracks list,
      provide reworked page view with tracks suggestions, ...
      
      SPECIFICATIONS
      
      Mockups are given in https://docs.google.com/presentation/d/1VSxp2luUvp9xLFq9d1Wy-6IC0mP0NA8vLmh44WE5PCs/edit#slide=id.g891af57392_0_84
      
      
      
      Main ideas are
      
        * based on sponsor: exhibitors are upgraded sponsor with chat capabilities;
        * new pages: view for all exhibitors and view for a specific exhibitor;
        * list view: display a cards-based view of exhibitors, ordered by sponsorship
          level. This page allows to filter exhibitors and search on them;
        * page view: new page view of an exhibitor. Two tabs: main content holds chat
          (jitsi-based) and information. Aside tab contains suggestions of exhibitors
          based on a given heuristics;
      
      SPECIFICATIONS: EXHIBITOR
      
      Use sponsor model. Upgrade it with a boolean flag telling it is an exhibitor.
      By default exhibitors have a chat room configured, using the previously-added
      chat.room model using jitsi. Add a catchphrase (slogan) as well as opening
      hour support (hours when jitsi is available for customers).
      
      SPECIFICATIONS: LIST VIEW
      
      Display a cards-based view of exhibitors. Display basic informations: cover
      picture, title, catchphrase, country. When clicking on an exhibitor, behavior
      depends on configuration
      
        * before the event: redirect to /register (if not registered) or display a
          popup telling it is not started yet;
        * during the event: during meeting hours, open page view of exhibitor with
          jitsi-based chat room opened by default (if defined). Outside of opening
          hours, display a popul telling it is closed;
        * after event: display page view of exhibitor, jitsi is closed;
      
      SPECIFICATIONS: PAGE VIEW
      
      Display a main content tab, with exhibitor description, contact information.
      If defined, display the jitsi room. This is the default behavior for exhibitors.
      
      Display an aside tab, with exhibitors suggestions following this heuristics
        * currently opened;
        * same country;
        * same language;
        * finally a random to have an "equivalent wave" randomly given;
      
      In mobile, main content should take the whole screen and aside should be
      collapsed. That way we put emphasis on main content.
      
      LINKS
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283738 (Sponsors -> Exhibitors upgrade)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      813ba652
    • std-odoo's avatar
      [ADD] website_event_meet: allow visitors to meet at online events · c918c582
      std-odoo authored
      
      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
      
      Allow the website visitors to meet at online events using chat rooms. Those are
      based on jitsi rooms previously added.
      
      SPECIFICATIONS
      
      Define a new model holding discussion rooms, with their target and a publish
      management. Inherit from chat.room mixin to enable jitsi-based chat.
      
      Any website visitor can create a meeting room based on Jitsi. Using some
      information (name, summary, room size, languyage) anyone can launch a new
      discussion topic. This will make a link with a new jitsi room enabling people
      to chat. Visitor-community rooms creation can be turned off on event itself.
      
      Meeting rooms can be pinned by the event managers to choose which rooms are
      displayed on top. Managers can also duplicate the full meeting rooms if a topic
      is popular, or publish/unpublish rooms like usual website records.
      
      SPECIFICATIONS: LIST VIEW
      
      Display a card-based list view of meeting rooms. They can be filtered by
      language. When a meeting room reach the maximum number of participants it is
      not visible anymore for standard visitors.
      
      The meeting rooms unpinned are cleaned after a certain period of time if there
      is no activity in it usign the autovacuum cron. That way we keep a clean view
      on the frontend and we keep the important (pinned) meeting rooms.
      
      SPECIFICATIONS: PAGE VIEW
      
      Use the same main content / aside panel display as exhibitors / tracks, to
      display the jitsi in the main content. Left panel proposes suggestions of
      rooms, based on current one.
      
      When a visitor join a meeting room, we fill the jitsi username with the name
      he entered during his registration.
      
      LINKS
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283742 (Community gathering on chat rooms)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarStéphane Debauche <std@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      c918c582
    • std-odoo's avatar
      [ADD] website_jitsi: allow to create Jitsi room on the frontend · b990f71d
      std-odoo authored
      
      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
      
      Build a mixin to create and manage jitsi-based chat rooms on website.
      
      SPECIFICATIONS: CHAT.ROOM
      
      Add a new model `chat.room` which contains all the configuration of the Jitsi
      room.
      
      A mixin `chat.room.mixin` adds a many2one to any model inheriting from it. That
      way behavior is optional without adding all fields on the model. We just need
      to inherit from the mixin and to use the chat room widget to build chat room
      on website for any model that needs it.
      
      SPECIFICATIONS: WIDGET
      
      Allow to give a default username when logging to jitsi if customers are logged.
      That way they gain a step and can directly participate to chat rooms.
      
      SPECIFICATIONS: PARTICIPANT COUNT
      
      Jitsi do not provide a REST API (or a similar API) to get the number of
      participant in a room (without hosting our own instance of Jitsi). The
      only way to get the number of participant is to be in the room and to use
      the Javascript API. That's why the participant send in RPC the number of
      participant in the room, to update the counter on the server side.
      
      We can not ask the user who is leaving to update the counter, because he
      can close the tab on his browser (and so the event will not be triggered),
      so, the first participant in the room send the update in RPC.
      
      Update of participant is done using SQL in non blocking mode so that concurrent
      accesses are not an issue. Even if participant count is not really accurate
      this is not an issue as managers will monitor rooms.
      
      LINKS
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283742 (Community gathering on chat rooms)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarStéphane Debauche <std@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      b990f71d
    • qmo-odoo's avatar
      [IMP] website_event_track_online: add a (void) community menu and page · 21e429da
      qmo-odoo authored
      
      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
      
      Prepare community addition (both quiz-based and room-based) by adding
      a community link and page management.
      
      SPECIFICATIONS
      
      In order to show the leaderboard and the meeting rooms on the same page we
      have to put a page and a route at the base of two upcoming modules: meet and
      quiz. The only common ancestor of those two will be website_event_track_online
      who gains a field for the community menu.
      
      It currently does nothing and leads to a void page. Both meet and quiz modules
      will add their own logic: meeting rooms or leaderboard. Having bothi installed
      displays rooms with a small leaderboard.
      
      See next commits for more details on those modules.
      
      LINKS
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283771 (Quizzes on Talks, Leaderboard)
      Task ID-2283742 (Community gathering on chat rooms)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarQuentin Mourier <qmo@odoo.com>
      Co-Authored-By: default avatarStéphane Debauche <std@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      21e429da
    • David Beguin's avatar
      [IMP] website_event_track_online: improve agenda page · 57da2366
      David Beguin authored
      
      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
      
      Improve Agenda page, to make it more inline with new Online Event design.
      Make it more usable, with a better UX and mobile-friendly.
      
      SPECIFICATIONS: AGENDA
      
      Keep a per-day and per-room display, as we think it is a nice design. Hours
      should be fixed: all hours between first hour and last hour of a day's tracks
      should be displayed. Otherwise you have some "holes" in agenda, and each
      line does not hold the same time range.
      
      Display tags and reminders on tracks. Support accepted tracks, not clickable
      but already displayed for people to organize their venue, especially with the
      wishlist / reminder feature in mind.
      
      Try to make it mobile friendly, by allowing horizontal scroll instead of
      displaying all rooms on a small device.
      
      SPECIFICATIONS: SEARCHING
      
      Allow to search on tracks, as well as some basic filtering. Use the look
      from event page to have something more inlined with current website layout.
      
      Due to time limitations, currently agenda custom JS-based search is inlined
      in bar looking like other event search bars. However no menu based on tags
      or wishlist is available as everything is done in JS. Routes do not support
      any tag or search, and adding it would take some time we don't have anymore.
      
      KNOWN LIMITATIONS
      
      Columns still do not have same width, complicated to do with dynamic column
      number and overlapping tracks going outside of locations columns.
      
      Mobile layout could be improved but is already browsable.
      
      Search is still custom, and will be improved in master.
      
      LINKS
      
      Community PR #53540
      Enterprise PR odoo/enterprise#11384
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2299857 (Event Design Review)
      
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarElisabeth Dickison <edi@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      57da2366
    • Elisabeth Dickinson's avatar
      [IMP] website_event_track_online: improve design of sponsor logos · 19c6f11b
      Elisabeth Dickinson authored
      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, ...
      
      SPECIFICATIONS
      
      Current 'our sponsors' banner is made for 5/6 sponsors but does not scale
      well with more sponsors. It takes a lot of space and requires a lot of scrolling
      in mobile mode.
      
      Go for a mozaic style, more compact and better displayed on both mobile
      and desktop.
        * current: https://tinyurl.com/ycughxlg
        * proposal: https://tinyurl.com/y8dzazcy
      
      
      
      Allow to make ribbon display optional. This is done by adding a field with
      ribbon color: gold, silver, bronze, or no ribbon. This solution is limited but
      allows to give flexibility enough for current layouting.
      
      LINKS
      
      Community PR #53540
      Enterprise PR odoo/enterprise#11384
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2299857 (Event Design Review)
      
      Co-Authored-By: default avatarElisabeth Dickison <edi@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      19c6f11b
    • Thibault Delavallée's avatar
      [IMP] website_event_track_online: improve track stage management + agenda based on tage · 2f47bcf2
      Thibault Delavallée authored
      
      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
      
      Purpose of this commit is to be able to showcase tracks by announcing them
      before publishing them. People may see them before event managers encode all
      relevant informations and publish it.
      
      SPECIFICATIONS: ACCEPTED ON STAGE
      
      Add a is_accepted field on tracks stage model. Accepted tracks should be
      displayed on frontend (agenda, list view) without being available in complete
      view (no read access). Customers may see the track name and know what it will
      be about while event managers finish to encode details of the track itself.
      
      No field is added on track model for that. Using the stage itself is
      sufficient for what it does, aka allowing filtering in frontend. No need to
      add a column for that as it is not as important as published flag.
      
      SPECIFICATIONS: DONE STAGES -> PUBLISH
      
      When a track reaches a stage which "is_done" field is set, automatically
      publish it. It allows to manage agenda creation from backend
      
        * accepted -> display track on website for teasing purpose (agenda, track
          list), but not accessible to non event users;
        * done -> available to everyone, published;
      
      SPECIFIATIONS: AGENDA UPDATE
      
      Display accepted tracks even for customers; make them not clickable, only
      displayed. Manually crafting url for those tracks should still raise an
      error as they are not accessible.
      
      An accepted track is simply a track whose stage has is_accepted boolean
      flag set.
      
      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-2299857 (Event Design Review)
      Task ID-2283735 (Talks -> Session upgrade)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      2f47bcf2
    • Krupal Oza's avatar
      [IMP] website_event_track_online: improve image and track / speaker synchronization · 64f08cc7
      Krupal Oza authored
      
      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, ...
      
      SPECIFICATIONS: PARTNER SYNCHRONIZATION
      
      Right now, information on the track page in frontend is dependent on partner
      through related fields. It is not possible to have contact data specific to
      the sponsor without modifying the related partner.
      
      In this commit we make track information fields based on partner while allowing
      to update this contact information. Name, email, mobile and phone are now
      computed stored based on partner and editable.
      
      SPECIFICATIONS: IMAGE MANAGEMENT
      
      Add a website_image field holding image to display in frontend, notably in
      the upcoming new list and page views for tracks. This image is optional and
      a default image is computed through a website_image_url field. It allows to
      have default images without storing the same image on all tracks.
      
      SPECIFICATIONS: DEMO UDPATE
      
      In order to ensure synchronization, reset demo data partner_id so that demo
      data is bioutifoul.
      
      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-2283735 (Talks -> Session upgrade)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarKrupal Oza <koz@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com&gt;m>
      64f08cc7
    • Thibault Delavallée's avatar
      [IMP] website_event_track_online: improve sponsor partner synchronization · e79a68d9
      Thibault Delavallée authored
      
      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, ...
      
      SPECIFICATIONS: PARTNER SYNCHRONIZATION
      
      Right now, information on the sponsor page in frontend is dependent on partner
      through related fields. It is not possible to have contact data specific to
      the sponsor without modifying the related partner.
      
      In this commit we make sponsor a model based on partner while allowing to
      update its contact information. Name, email, mobile and phone are now computed
      stored based on partner and editable.
      
      A new image_512 field is introduced, as base image field is too small for
      a new list view of sponsors we plan to make.
      
      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-2283738 (Sponsors -> Exhibitors upgrade)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      e79a68d9
    • Thibault Delavallée's avatar
      [IMP] website_event_track_online: allow to group track tags into categories · 2b10f951
      Thibault Delavallée authored
      
      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
      
      Allow to have categories of tags, used notably to build a dynamic menu
      when displaying tracks.
      
      SPECIFICATIONS
      
      Introduce tag category model on event track tags, like already existing in
      slides (tag and tag group). Link tags to categories in a m2o / o2m fashion.
      
      Each tag category will make a menu in the new frontend track list view. Each
      tag will be a menu entry.
      
      Add some demo data to showcase track tags and categories.
      
      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-2283735 (Talks -> Session upgrade)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      2b10f951
    • std-odoo's avatar
      [IMP] website_event_online: add a new widget to display toast message · 64304aca
      std-odoo authored
      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, ...
      
      SPECIFICATIONS
      
      Create a new widget that allows us to display toast message on the event
      registration frontend page. Its purpose is notably to send a toaster message
      to customers when they are redirected to the register page. It will be
      used notably when exhibitors are not yet open before an event, to try to
      make people register to the event with an explanation.
      
      LINKS
      
      Community PR #53540
      Enterprise PR odoo/enterprise#11384
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283796 (Event B2Basics / Registration Flow)
      64304aca
    • David Beguin's avatar
      [IMP] website_event_online: add display-timer widget · 6e15f7d1
      David Beguin authored
      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, ...
      
      SPECIFICATIONS
      
      Add a timer widget that allows to display a DOM element at the end of a given
      time. The widget can be configured with two steps
      
        * main timer: countdown to display the DOM element;
        * pre-countdown: countdown to display the main timer;
      
      For example, in the context of a event track (talk), the pre-timer can be used
      to announce when the talk will start. The main timer will then be displayed
      once the pre-timer is over. At the end of the main timer, the DOM element is
      finally displayed.
      
      [Talk start in 03:45] -> [Survey available in 05:00] -> [Take the Survey!]
      
      LINKS
      
      Community PR #53540
      Enterprise PR odoo/enterprise#11384
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283735 (Talks -> Session upgrade)
      6e15f7d1
    • Thibault Delavallée's avatar
      [IMP] website_event_online: add some CSS tools / fixes · a0892ad3
      Thibault Delavallée authored
      
      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, ...
      
      SPECIFICATIONS
      
      Add some common CSS to be used in several new modules that will use a "aside
      panel / main content" like display. This will be used for
      
        * exhibitor: display exhibitors list (cards) / page view (main content of
          exhibitor with jitsi + suggestions on left);
        * tracks: display track list (cards + list) / page view (main content of
          track, with youtube and/or quiz + suggestions on left);
        * community: display room list (cards) / page view (main content of room
          with jitsi + suggestions on left);
      
      Incoming modules will soon use this SCSS.
      
      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-2299857 (Event Design Review)
      Task ID-2284043 (Visitor-based track wishlist)
      Task ID-2283738 (Sponsors -> Exhibitors upgrade)
      Task ID-2283735 (Talks -> Session upgrade)
      Task ID-2283742 (Community gathering on chat rooms)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      a0892ad3
    • Thibault Delavallée's avatar
      [IMP] website_event_online: add time-related computation on events · b3d2df46
      Thibault Delavallée authored
      
      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
      
      Reduce complexity of frontend templates and ease time-related display by
      adding computed fields on event.
      
      SPECIFICATIONS
      
      Add following information to be used in future templates
      
        * is_ongoing: between start and end of event;
        * is_done: after end of event;
        * start_today: will start today, for example to display remaining hours
          before start;
        * start_remaining: remaining time before start;
      
      Ensure timezone are correctly taken into account. Base heuristic is
      
        * datetime are stored in UTC in database;
        * TZ of event is stored on date_tz of event;
        * make most computation based on UTC: compare UTC of current visitor to
          UTC of event datetime;
      
      LINKS
      
      Community PR #53540
      Enterprise PR odoo/enterprise#11384
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283796 (Event B2Basics / Registration Flow)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      b3d2df46
    • Thibault Delavallée's avatar
      [IMP] website_event_online: support colors on tags · 54dafd3b
      Thibault Delavallée authored
      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
      
      Tags are not really user friendly in current website event. Add colors !
      
      SPECIFICATIONS
      
      Add colors on event tag model. That way they put more color and emphasis on
      frontend. Allow to edit them from backend using color widget.
      
      LINKS
      
      Community PR #53540
      Enterprise PR odoo/enterprise#11384
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283796 (Event B2Basics / Registration Flo)
      54dafd3b
    • Thibault Delavallée's avatar
      [IMP] website_event(_track)_online: improve registration flow · ae8ac2eb
      Thibault Delavallée authored
      
      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
      
      Improve the overall registration flow. In addition to already improved features
      (email, standard pages), some improvements are done here specifically for
      Online feature.
      
      SPECIFICATIONS: REGISTER MENU
      
      Add a register button to the right that can be removed through an option on
      the event itself. Currently register menu is lost within other event menus.
      In this commit we add a CTA to the right lf event naviguation in order to show
      it to customers. If current user has registered this button is not displayed.
      
      This is done in addition to already existing register menu. This one can be
      tweaked through frontend menu edition. CTA has another purpose, bringing
      people to register through a visible CTA.
      
      SPECIFICATIONS: REGISTRATION CONFIMATION
      
      At the end of registration process, add a link to the talks. It allows to
      send people directly to the talk page in order to complete their wishlist.
      
      SPECIFICATIONS: IS PARTICIPATING
      
      Make "is participating" field functionally working for public users. It is now
      computed based on visitor. If a visitor is available check its registrations
      in order to determine if current user has registered to the event.
      
      Remove support of 'email' based computation of "is participating" as this is
      quite unsafe: partner and visitor should give results interesting enough.h.
      
      LINKS
      
      Community PR #53540
      Enterprise PR odoo/enterprise#11384
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283796 (Event B2Basics / Registration Flow)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      ae8ac2eb
    • Thibault Delavallée's avatar
      [IMP] website_event(_track)_online: improve pages and menus management · 96da5888
      Thibault Delavallée authored
      
      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
      
      Improve menu generation, linked to website_event and website_event_track.
      Also remove frontend menu management, getting back backend management.
      
      SPECIFICATIONS: MENU GENERATION
      
      Add sequence to menus, allowing to ensure order of menus. This is done through
      an override of some methods, leading to a transparent modification of behavior.
      
      SPECIFICATIONS: MENU MANAGEMENT
      
      Remove front-end menu management. Keep only the global "website menu" customize
      option. Indeed it is quite slow and clutters the frontend management UI.
      
      Get fields back on event and event type backend views. Put them in group noone
      to avoid having too much fields on form view while allowing to thune them.
      
      JS and code allowing to manage through frontend is simply de-activated in this
      commit. That way existing use of website_event(_track) is not impacted by this
      commit.
      
      LINKS
      
      Community PR #53540
      Enterprise PR odoo/enterprise#11384
      
      Task ID-2252655 (Main Online Event task)
      Task ID-2283796 (Event B2Basics / Registration Flow)
      
      Co-Authored-By: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      96da5888
    • David Beguin's avatar
      [IMP] website_event_track_online : add wishlist mechanism on event tracks · 8d371266
      David Beguin authored
      
      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
      
      Allow visitors and logged users to wishlist tracks and link tracks to visitors.
      Purpose is to improve engagement and promote tracks before an event.
      
      SPECIFICATIONS: TRACK WISHLIST
      
      Add a link between visitors or partners, and tracks. This link is done in a new
      many2many relationship build on event.track.visitor new model. It is used to
      store the wishlist flag. That way even public users can wishlist a track
      using their visitor.
      
      At login, information is propagated to their partner. It means that wishlist
      are saved if customer logs in or registers.
      
      We also add a widget for frontend pages. It allows to toggle the wishlist flag
      on tracks. It is based on visitor and/or current user, leading to a complete
      flow even for anonymous people.
      
      We allow to set some tracks as "keynotes". Those are considered as wishlisted
      by default. In order to avoid storing too much information, we do not create an
      entry in the wishlist table for each attendee. We simply consider all event
      attendees to have wishlisted this track by default. In order to be able to mute
      a keynote, a blacklist mechanism is implemented. Using the same relationship
      table between visitors or partners and tracks, a flag is added that blacklists
      the track.
      
      Fields are added on visitor allowing to dynamically build a domain to find
      visitors that wishlisted a track (or did not blacklist list in case of default
      wishlist). This could be used for example to automatically contact attendees
      before a track, like what is done in enterprise counterpart of this merge.
      
      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: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      8d371266
    • David Beguin's avatar
      [IMP] website_event_online: ensure to link visitor at registration · 0659a500
      David Beguin authored
      
      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: default avatarAurélien Warnon <awa@odoo.com>
      Co-Authored-By: default avatarDavid Beguin <dbe@odoo.com>
      Co-Authored-By: default avatarThibault Delavallée <tde@odoo.com>
      0659a500
Loading