Skip to content
Snippets Groups Projects
  1. Mar 22, 2022
  2. Sep 02, 2021
    • Julien Banken's avatar
      [IMP] website_event_track: update the track stage visibility logic · d369726f
      Julien Banken authored
      In the track stage model, the fields 'is_accepted' and 'is_done' of the
      track stage model are not self-explanatory enough. The user may not know
      that those fields will have an impact on the visibility and the accessibility
      of the tracks in the frontend. We will then rename those fields and update
      their use to make it clearer.
      
      Rules are now
      
        * a published track is always displayed in agenda, tracks list and page
          view, whatever its state;
        * a track in a 'is_visible_in_agenda' stage (replacing 'is_accepted') is
          always displayed in agenda and tracks list. Its page view access is based
          on ACLs: aka: published = everyone, unpublished = for event users only;
        * a track in a 'is_fully_accessible' stage (replacing 'is_done') is
          automatically published when entering this stage, allowing its full
          display
      
      This means that
      
        * tracks may be displayed in agenda and tracks list to public without giving
          access to their page;
        * easy way to publish tracks at once is achieved by moving them in batch in
          a fully accessible stage;
        * early-disclosure of tracks is achieved by publishing them manually whatever
          the stage;
        * easy removal of track page view is achieved by unpublishing them manually
          whatever the stage;
      
      Page view still relies on ACLs, and therefore on published flag automatically
      set when entering "fully accessible" stage.
      
      task-2504216
      
      COM PR: odoo/odoo#69585
      UPG PR: odoo/upgrade#2408
      d369726f
  3. Aug 17, 2021
    • Aurélien Warnon's avatar
      [IMP] website_event_track: submit track proposals using AJAX · d63674d9
      Aurélien Warnon authored
      
      Currently, track proposals are submitted through an HTML form with an "action"
      attribute, which requires that the associated route returns a redirect
      response.
      
      However, redirecting to a different page comes with its set of issues.
      Indeed, when the track is submitted, the user that just submitted the track no
      longer has access to it (because it's not published).
      
      In 157a1d77058da97954edc9efba6ab9f43c7d13a2
      We attempted to resolve this issue by checking if the partner set on the track
      is the same as the partner set on the website.visitor record.
      However, this does not handle every use cases since when specifying different
      contact information, we create a different res.partner, making the check fail.
      
      In this commit, we rework the track proposal submission to use AJAX instead.
      This allows to dynamically show a "success" message while staying on the same
      page, removing the need for redirects and "complex" ACLs checks.
      
      While the main goal of this change is to avoid the need for that security
      check, it also has a few additional minor advantages:
      - Slightly faster UI, as you don't have to wait for a full page reload
      - Fewer routes to maintain
      - Easier and more thorough validation handling (current code returns a ugly
        error page if validation fails server-side)
      - Code makes a bit more sense, as we don't have a template that varies from
        "form" to "success message" depending on the presence of a "track" variable
      
      Task-2618734
      UPG PR odoo/upgrade#2722
      
      closes odoo/odoo#74848
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      d63674d9
  4. Jul 06, 2021
    • Sunil Shrimali's avatar
      [IMP] website_event_track: improves ui for unpublished event_tracks · 7ff89c18
      Sunil Shrimali authored
      Unpublished tag not shown if track is not accepted, although track is not
      published. Unpublished tracks was also visible for portal user. opacity
      was not available on tracks, even track is unpublished.
      
      unpublished tag added into event agenda next to 'not accepted', also
      added blurry effect and unpublished tag into agenda which is
      shows in details page. used normal text in place of badge for
      unpublished track, because that red badge is already used by live
      tag. Onwards now, unpublished track will not show to portal user.
      
      TaskID - 2346612
      7ff89c18
  5. Jun 10, 2021
  6. May 10, 2021
  7. Apr 12, 2021
    • Julien Banken's avatar
      [IMP] website_event_track[_live]: add visual & usability improvements to event.tracks · 0f50285c
      Julien Banken authored
      PURPOSE
      
      This commit adds several minor visual improvements to the event.tracks
      frontend and backend views as well as a few quality of life changes to
      ease usability.
      
      SPECS
      
      - Add "hide and show" feature for tracks
      
      In the event homepage, all the tracks of the selected event will be
      displayed. As the tracks are grouped by day, some sections will only
      contain tracks that have already taken place. If there are a lot of
      tracks, it might be better to fold these sections to reduce the payload
      of the page. That way, the user will be able to see the upcoming tracks
      more easily.
      
      With these changes, a new chevron icon will be added above each section.
      When the user clicks on it, the user can fold and unfold a section.
      By default, the section containing tracks that have already taken place
      will be initially folded.
      
      - Add partner tag line
      
      The user may need to know more about the speaker before attending a
      talk. The user may wonder: Who will give the talk ? What is his/her
      field of expertise ? Where the speaker comes from ? To answer these
      questions, we will display: the name, the job position and
      the company name of the speaker.
      
      - Add replay suggestion when no suggestion can be provided
      
      When a video ends and no suggestion can be provided, the player will
      display an empty cover to hide the Youtube suggestions. With these new
      changes, the cover will now suggest the user to replay the video when
      no suggestion can be provided.
      
      - Dynamic count down for incoming tracks
      
      When the user accesses a track that will start in several hours, an alert
      will indicate the remaining time before the beginning of the track.
      Unfortunately, this alert is not dynamic: If the user keeps the page in
      a tab and come back later, the alert will not be updated and will display
      an incorrect estimation.
      
      The changes address this issue: The timer will now be updated dynamically
      as the time goes on. When the countdown reaches 0, the alert will
      automatically be removed from the dom.
      
      - Fix links of the agenda view
      
      In the agenda, the title of a track can be a link. When the user hover
      it, the cursor of the user will now turn into a clickable hand only if
      the track is accessible.
      
      - Remove the default date for the new tracks.
      - Set a default duration of half an hour for the new tracks.
      
      LINKS
      
      Task-2347597
      COM PR odoo/odoo#69102
      ENT PR odoo/enterprise#17612
      
      X-original-commit: 6804b8a92c03db09c2694150f968d8056492a1d4
      0f50285c
    • Julien Banken's avatar
      [IMP] website_event[_track|_meet|_exhibitor]: improve various frontend event layouts · 98f46907
      Julien Banken authored
      PURPOSE
      
      This commit generally improves some of the event application layouts.
      
      SPECS
      
      - Add new rules to handle long text properly.
      - Set a maximum height for the dropdown menu.
      - Minor margin and padding adjustments.
      - Reduce border radius of status badge.
      - Remove the rounded corners of the cards.
      - Remove the "wishlist" terminology.
      - Fix the href attribute of the event name.
      - Fix image distortion of the sponsor cards (backend).
      - Hide viewer count when there is no viewer.
      - Limiting the expansion of the meeting room aside block.
      - Various other minor changes coming from user testing
      
      LINKS
      
      Task-2347597
      COM PR odoo/odoo#69102
      ENT PR odoo/enterprise#17612
      
      X-original-commit: cfbe1096ec34411a7abe9a9510dc4289e15db1cb
      98f46907
    • Aurélien Warnon's avatar
      [FIX] website_event_track: put partner_biography back on track proposal · b7b7ca38
      Aurélien Warnon authored
      
      Small oversight of #60847 where the "partner_biography" field was mistakenly
      removed from the frontend track proposal form.
      
      This commit simply re-introduces the field back into the form and saves it when
      submitting the event.track proposal.
      
      Task-2500455
      
      closes odoo/odoo#69116
      
      X-original-commit: cef6d91190de0c305c2f7a45b87717db28a9c7db
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      Signed-off-by: default avatarawa-odoo <awa-odoo@users.noreply.github.com>
      b7b7ca38
  8. Apr 02, 2021
    • Noe Antoine's avatar
      [REF] website_event_track: Track Proposal Form Revamp (GDPR) · d47d6496
      Noe Antoine authored
      
      Distinguish and display to the speaker which info is collected by the form
      for internal use vs external dissemination. The contact details one wants to
      share with the event manager (Private details : contact_phone, contact_email)
      could indeed be different from the ones shared to attendees (partner_phone,
      partner_email,...). The form in both back-end and front-end is made more
      detailed, including more fields. Previously the form could have several
      speakers, now only one.
      
      Front-End
      
      - Track proposal form changed, now includes tags, contact / speaker info...
      - Track name and description are mandatory fields
      - User can select (but not create) several track tags from those existing.
        This allows categorizing the track in pre-defined categories with format
        "tag category : tag name". It requires a select2 widget,
        implemented in new file website_event_track_proposal_add_tag.js.
      - New tickable section "contact me through different contact" not displayed
        if the checkbox is not ticked. If the section is ticked, then the info set
        there (contact_name, contact_phone, contact_email) will be added on a new
        contact with id partner_id set on the track.
      - In both cases (checkbox on/off), if the contact/partner email is the
        same as logged user's, uses its partner on form. No contact creation needed.
      - Improved / dynamic error display on form submission. If the form is valid,
        it resets after submission.
      - New widget in website_event_track_proposal.js:
          - The partner_name is propagated on contact_name on input but editable.
          - When the optional section is checked:
      	- The contact_name is made required.
      	- The user must at least enter a contact phone or an email. The email
                is normalized but any phone format is accepted, since the choice of
                country is not resolved (e.g. geoip not always relevant). Could be
                improved with international phone number widget, see COM PR #34725
      
      Back-end: following changes are done to ease contact creation and form completion
      from back-end, as well as reaching the speaker from chatter
      
      - On the form:
          - If created on the fly from M2O (entering a name and using "create ..."),
            the new partner will use default values contact_phone and contact_email.
          - Once the contact is set (partner_id), contact_phone and contact_email
            are set to readonly since they change according to the partner.
          - When setting or changing the partner: this will fill all the form fields
            with new available partner data to ease the flow, but only the empty ones
            (this prevents losing previously entered information).
            If partner is a company, company name is set to the name of partner.
          - All fields are editable in the speaker section.
          - Exception thrown if no contact mean available when supposed to.
      - On the chatter, about contact creation and message subscription:
          - From contact creation through suggested contacts.
      	- If the partner is set but is not in the followers, it is suggested
      	- If no partner is set, then there is at maximum one suggested contact
      	  from track data: using contact_email if there is one, partner_email
      	  otherwise. This priority serves main commit purpose. The user can
                create and edit a corresponding contact if the address is not linked
      	  to a partner. It will then be searched for and set on track.
      
      Modifies tests in test_track_partner_sync. Before, partner fields on track
      would be erased by customer's ones. Now, they are updated only if empty.
      Contact fields are erased by customer's ones if set. tests changed accordingly.
      
      Task ID - 2329406
      COM PR odoo/odoo#60847
      UPG PR odoo/upgrade#2346
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      d47d6496
    • std-odoo's avatar
      [IMP] event_*: allow Event Users to manage the events from website · a48f5a37
      std-odoo authored
      Purpose
      =======
      
      Before, the Event Manager could make some action on the frontend size,
      like joining full meeting room, see unpublished track...
      
      Now, the Event User has more permissions and can create Event, Track...
      
      So, we want also to change the logic on the frontend side and allow him
      to do the same actions as the Event Manager.
      
      Task ID-2204364
      COM odoo/odoo#57022
      ENT odoo/enterprise#13984
      UPG odoo/upgrade#1897
      a48f5a37
  9. Jan 25, 2021
    • Romain Derie's avatar
      [IMP] website(_*): prevent wrong multi website access during dispatch · f2583f3d
      Romain Derie authored
      
      Before this commit, routes were prevented to be accessed if the route model was
      not accessible from the current website, eg you couldn't access blog1 which is
      set to website2 from website 1.
      That would raise a 404 even from admin/editor.
      
      This commit introduce that behavior at a lowel level in a generic way, instead
      of having to write it on every route.
      
      Note that routes without a model converter won't benefit from this.
      
      Closes #63499
      
      closes odoo/odoo#64313
      
      Related: odoo/enterprise#15688
      Signed-off-by: default avatarJérémy Kersten (jke) <jke@openerp.com>
      f2583f3d
  10. Jan 10, 2021
  11. Aug 21, 2020
    • Thibault Delavallée's avatar
      [REM] website_event_track_session: merge into website_event_track · de8a5652
      Thibault Delavallée authored
      PURPOSE
      
      Clean organization and models linked to Event Online feature introduced in
      semi stable saas-13.3 at odoo/odoo@981f95bbf46658eda9f2d33751b9310cc67d86aa and odoo/enterprise@14722028ae0773c3710ea48ce48ff44703e83b5a
      
      Also clean website event menu not being available in website event but only
      in website event track, which implies some extra-code to manage it.
      
      In short: merge website_event_online in website_event, website_event_track
      _(online/session) in website_event_track.
      
      RATIONALE
      
      _online modules have been added to extend content of website_event and
      website_event_track without having any impact on those module. First step
      of cleaning is to move this content directly in base module.
      
      track_session module is mainly a rewrite of track module. Second step of
      cleaning is to move its content directly in website_event_track.
      
      SPECIFICATIONS
      
      Move all content of website event track session to website event tracK. It
      was mainly of rewriting of views and can now be safely merged into the base
      track module.
      
      Update dependencies accordingly.
      
      LINKS
      
      Task ID-2319779
      COM odoo/odoo#56067
      ENT odoo/enterprise#12520
      UPG odoo/upgrade#1654
      de8a5652
    • Thibault Delavallée's avatar
      [REM] website_event_track_online: merge into website_event_track · 1163013e
      Thibault Delavallée authored
      PURPOSE
      
      Clean organization and models linked to Event Online feature introduced in
      semi stable saas-13.3 at odoo/odoo@981f95bbf46658eda9f2d33751b9310cc67d86aa and odoo/enterprise@14722028ae0773c3710ea48ce48ff44703e83b5a
      
      Also clean website event menu not being available in website event but only
      in website event track, which implies some extra-code to manage it.
      
      In short: merge website_event_online in website_event, website_event_track
      _(online/session) in website_event_track.
      
      RATIONALE
      
      _online modules have been added to extend content of website_event and
      website_event_track without having any impact on those module. First step
      of cleaning is to move this content directly in base module.
      
      track_session module is mainly a rewrite of track module. Second step of
      cleaning is to move its content directly in website_event_track.
      
      SPECIFICATIONS
      
      Move remaining content of website event track online to website event track.
      Agenda notably is completely replaced by the new one developed within
      track_online module.
      
      Update dependencies accordingly.
      
      LINKS
      
      Task ID-2319779
      COM odoo/odoo#56067
      ENT odoo/enterprise#12520
      UPG odoo/upgrade#1654
      1163013e
  12. Aug 14, 2020
    • Romeo Fragomeli's avatar
      [FIX] website_event_track_online: PWA not working with multi-lang · 2dffd1c8
      Romeo Fragomeli authored
      
      Before this commit, the PWA didn't work when the language was specified
      in the URL like in "/fr_FR/event".
      Note that it worked fine for the default language.
      The reason is that we were out of the scope.
      
      After this commit, we build the scope dynamically depending on the
      language entered in the URL.
      
      Steps to reproduce:
      - Configure a second lang to the website
      - Go to website
      - Choose another language than the default one. (e.g. "French - BE")
      - Go to the event page
      => Bug due to /fr_BE in the URL
      
      closes odoo/odoo#55924
      
      X-original-commit: 27a3837df5ecb9a0eada49ceddecfa447be1833d
      Signed-off-by: default avatarAdrien Dieudonné (adr) <adr@odoo.com>
      2dffd1c8
  13. Aug 13, 2020
  14. Aug 04, 2020
    • 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
    • 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
    • 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
    • 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
Loading