Repository
odoo/odoo · module folder
Module version
1.3
Category
Marketing
Folder size
8.47 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
None
Last tracking update
2026-08-15 22:44:21
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Xavier Morel, Xavier ALT, Raphael Collet, Thibault Delavallée, Odoo Translation Bot, Nicolas Martinelli, Géry Debongnie, qsm-odoo, Christophe Monniez, Julien Castiaux, Victor Feyens, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Arnaud Baes, Nicolas Bayet, luvi, Renaud Thiry, Julien Banken, Gaetan Vanden Bergh (gavb), Victor Piryns (pivi), amdi-odoo, Dylan Kiss (dyki), Mehdi Outagant (MOU), Serge Bayet (seba), Jérémy Hennecart (jeh), kcv-odoo, nihp-odoo, Shaan Thakkar (THSH), yagp-odoo, Manushi Shah, Anton Romanova (roan), Bastien PIERRE, Krzysztof Magusiak (krma), Ajit Singh, Tyler Landivar (tylan), Augustin (duau), Serhii Rubanskyi, Alessandro Lupo, Yagnik ✗ (yagp), saurabh, alan-odoo, chpa-odoo, Vivek Sinha
Odoo dependencies
Python dependencies
geoip2
System dependencies
None
Required by
event_track_location_overlap, mass_mailing_event_track, mass_mailing_event_track_sms, test_event_full, website_event_track_live, website_event_track_quiz, website_event_track_stage_cancelled
Description

Code Analysis

Views touched (59)
XML IDNameModelTypeStatus
agenda_main Tracks: Main Display ir.ui.view qweb New
agenda_main_track Track Agenda: Track ir.ui.view qweb New
agenda_online Track Online: Agenda ir.ui.view qweb New
agenda_topbar Agenda Tools ir.ui.view qweb New
agenda_topbar_wishlist Allow Wishlists ir.ui.view qweb Inherits website_event_track.agenda_topbar
event_confirmation_end_page_hook event_confirmation_end_page_hook ir.ui.view qweb Inherits website_event.event_confirmation_end_page_hook
event_event_view_form event.event.view.from.inherit.track event.event form Inherits website_event.event_event_view_form
event_event_view_list event.event.view.list.inherit.website.event.track event.event list Inherits event.view_event_tree
event_track_aside Track: Aside ir.ui.view qweb New
event_track_aside_other_track event_track_aside_other_track ir.ui.view qweb New
event_track_content Track: Main Description ir.ui.view qweb New
event_track_content_partner_info event_track_content_partner_info ir.ui.view qweb New
event_track_main Event Exhibitor ir.ui.view qweb New
event_track_proposal event_track_proposal ir.ui.view qweb New
event_track_proposal_contact_details event_track_proposal_contact_details ir.ui.view qweb New
event_track_stage_view_form event.track.stage.view.form event.track.stage form New
event_track_stage_view_search event.track.stage.view.search event.track.stage search New
event_track_stage_view_tree event.track.stage.view.list event.track.stage list New
event_track_tag_category_view_form event.track.tag.category.view.form event.track.tag.category form New
event_track_tag_category_view_list event.track.tag.category.view.list event.track.tag.category list New
event_track_template_new event_track_template_new ir.ui.view qweb New
event_track_view_form_quick_create event.track.view.form.quick.create event.track form New
event_track_visitor_view_form event.track.visitor.view.form event.track.visitor form New
event_track_visitor_view_list event.track.visitor.view.list event.track.visitor list New
event_track_visitor_view_search event.track.visitor.view.search event.track.visitor search New
event_type_view_form_inherit_track event.type.view.form.inherit.track event.type form Inherits website_event.event_type_view_form
index index ir.ui.view qweb Inherits website_event.index
layout layout ir.ui.view qweb Inherits website_event.layout
pwa_manifest pwa_manifest ir.ui.view qweb New
pwa_offline pwa_offline ir.ui.view qweb Inherits website_event.index
registration_complete registration_complete ir.ui.view qweb Inherits website_event.registration_complete
res_config_settings_view_form res.config.settings.view.form.inherit.website res.config.settings form Inherits website.res_config_settings_view_form
session_topbar Tracks Tools ir.ui.view qweb New
session_topbar_tag Filter by Tags ir.ui.view qweb Inherits website_event_track.session_topbar
session_topbar_wishlist Allow Wishlists ir.ui.view qweb Inherits website_event_track.session_topbar
track_card Track Card ir.ui.view qweb New
track_cards_section Track Cards ir.ui.view qweb New
track_list_item Track List Item ir.ui.view qweb New
track_tag_badge_info Track: Tag Badge Info ir.ui.view qweb New
track_tag_badge_link Track: Tag Badge Link ir.ui.view qweb New
track_widget_reminder track_widget_reminder ir.ui.view qweb New
tracks_display_cards Tracks: Cards Display ir.ui.view qweb New
tracks_display_list Tracks: List Display ir.ui.view qweb New
tracks_main Tracks: Main Display ir.ui.view qweb New
tracks_search Tracks: search tags ir.ui.view qweb New
tracks_session Event Tracks ir.ui.view qweb New
view_event_location_form Event Locations event.track.location form New
view_event_location_tree Event Location event.track.location list New
view_event_track_calendar event.track.calendar event.track calendar New
view_event_track_form event.track.form event.track form New
view_event_track_graph event.track.graph event.track graph New
view_event_track_kanban event.track.kanban event.track kanban New
view_event_track_search event.track.search event.track search New
view_event_track_stage_kanban event.track.stage.kanban event.track.stage kanban New
view_event_track_tag_form Track Tags event.track.tag form New
view_event_track_tag_tree Tracks Tag event.track.tag list New
view_event_track_tree event.track.list event.track list New
website_visitor_view_form website.visitor.view.form.inherit.event.track website.visitor form Inherits website_event.website_visitor_view_form
website_visitor_view_tree website.visitor.view.list.inherit.event.track website.visitor list Inherits website_event.website_visitor_view_tree
HTTP endpoints (12)
Route(s)HandlerAuthTypeMethodsFlags
/event/<model("event.event"):event>/agenda EventTrackController.event_agenda public http ALL website
/event/<model("event.event"):event>/track/<model("event.track"):track>/ics EventTrackController.event_track_ics_file public http ALL website
/event/<model("event.event", "[('website_track', '=', True)]"):event>/track/<model("event.track", "[('event_id', '=', event.id)]"):track> EventTrackController.event_track_page public http ALL sudo website
/event/<model("event.event"):event>/track_proposal EventTrackController.event_track_proposal public http ALL website
/event/<model("event.event"):event>/track_proposal/post EventTrackController.event_track_proposal_post public http POST sudo website
/event/<model("event.event"):event>/track, /event/<model("event.event"):event>/track/tag/<model("event.track.tag"):tag> EventTrackController.event_tracks public http ALL website
/event/track/send_email_reminder EventTrackController.send_email_reminder public jsonrpc ALL sudo website
/event/track/toggle_reminder EventTrackController.track_reminder_toggle public jsonrpc ALL website
/event/track_tag/search_read EventTrackController.website_event_track_fetch_tags public jsonrpc ALL website
/event/offline TrackManifest.offline public http GET website
/event/service-worker.js TrackManifest.service_worker public http GET website
/event/manifest.webmanifest TrackManifest.webmanifest public http GET website
Models touched (13)

New fields (8)
  • allowed_track_tag_ids Many2many → event.track.tag
    relation='event_allowed_track_tags_rel' string='Available Track Tags' args: 'event.track.tag'
  • track_count Integer
    compute='_compute_track_count' args: 'Track Count'
  • track_ids One2many → event.track
    args: 'event.track', 'event_id', 'Tracks'
  • track_menu_ids One2many → website.event.menu
    domain=[('menu_type', '=', 'track')] string='Event Tracks Menus' args: 'website.event.menu', 'event_id'
  • track_proposal_menu_ids One2many → website.event.menu
    domain=[('menu_type', '=', 'track_proposal')] string='Event Proposals Menus' args: 'website.event.menu', 'event_id'
  • tracks_tag_ids Many2many → event.track.tag
    compute='_compute_tracks_tag_ids' relation='event_track_tags_rel' store=True string='Track Tags' args: 'event.track.tag'
  • website_track Boolean
    compute='_compute_website_track' readonly=False store=True args: 'Tracks on Website'
  • website_track_proposal Boolean
    compute='_compute_website_track_proposal' readonly=False store=True args: 'Proposals on Website'
Public methods (3)
  • copy_event_menus(self, old_events)
  • toggle_website_track(self, val)
  • toggle_website_track_proposal(self, val)

New fields (53)
  • active Boolean
    default=True
  • color Integer
    args: 'Agenda Color'
  • company_id Many2one → res.company
    related='event_id.company_id' args: 'res.company'
  • contact_email Char
    compute='_compute_contact_email' readonly=False store=True string='Contact Email' tracking=20
  • contact_phone Char
    compute='_compute_contact_phone' readonly=False store=True string='Contact Phone' tracking=30
  • date Datetime
    compute='_compute_date' inverse='_inverse_date' store=True args: 'Track Date'
  • date_end Datetime
    compute='_compute_end_date' inverse='_inverse_end_date' store=True args: 'Track End Date'
  • description Html
    sanitize_attributes=False sanitize_form=False translate=html_translate
  • duration Float
    default=0.5 args: 'Duration'
  • event_id Many2one → event.event
    index=True required=True args: 'event.event', 'Event'
  • event_track_visitor_ids One2many → event.track.visitor
    groups='event.group_event_user' string='Track Visitors' args: 'event.track.visitor', 'track_id'
  • footer_visible Boolean
    readonly=False related='event_id.footer_visible'
  • header_visible Boolean
    readonly=False related='event_id.header_visible'
  • image Image
    compute='_compute_partner_image' max_height=256 max_width=256 readonly=False store=True string='Speaker Photo'
  • is_one_day Boolean
    compute='_compute_field_is_one_day'
  • is_reminder_on Boolean
    compute='_compute_is_reminder_on' args: 'Is Reminder On'
  • is_track_done Boolean
    compute='_compute_track_time_data' args: 'Is Track Done'
  • is_track_live Boolean
    compute='_compute_track_time_data' args: 'Is Track Live'
  • is_track_soon Boolean
    compute='_compute_track_time_data' args: 'Is Track Soon'
  • is_track_today Boolean
    compute='_compute_track_time_data' args: 'Is Track Today'
  • is_track_upcoming Boolean
    compute='_compute_track_time_data' args: 'Is Track Upcoming'
  • is_website_cta_live Boolean
    compute='_compute_cta_time_data' help='CTA button is available' args: 'Is CTA Live'
  • kanban_state Selection
    copy=False default='normal' help="A track's kanban state indicates special situations affecting it:\n * Grey is the default situation\n * Red indicates something is preventing the progress of this track\n * Green indicates the track is ready to be pulled to the next stage" required=True string='Kanban State' args: [('normal', 'Grey'), ('done', 'Green'), ('blocked', 'Red')]
  • kanban_state_label Char
    compute='_compute_kanban_state_label' store=True string='Kanban State Label' tracking=True
  • legend_blocked Char
    readonly=True related='stage_id.legend_blocked' string='Kanban Blocked Explanation'
  • legend_done Char
    readonly=True related='stage_id.legend_done' string='Kanban Valid Explanation'
  • legend_normal Char
    readonly=True related='stage_id.legend_normal' string='Kanban Ongoing Explanation'
  • location_id Many2one → event.track.location
    args: 'event.track.location', 'Location'
  • name Char
    required=True translate=True args: 'Title'
  • partner_biography Html
    compute='_compute_partner_biography' readonly=False sanitize_attributes=False store=True string='Biography'
  • partner_company_name Char
    compute='_compute_partner_company_name' readonly=False store=True args: 'Company Name'
  • partner_email Char
    compute='_compute_partner_email' readonly=False store=True string='Email' tracking=20
  • partner_function Char
    compute='_compute_partner_function' readonly=False store=True args: 'Job Position'
  • partner_id Many2one → res.partner
    args: 'res.partner', 'Contact'
  • partner_name Char
    compute='_compute_partner_name' readonly=False store=True string='Name' tracking=10
  • partner_phone Char
    compute='_compute_partner_phone' readonly=False store=True string='Phone' tracking=30
  • partner_tag_line Char
    compute='_compute_partner_tag_line' help='Description of the partner (name, function and company name)' args: 'Tag Line'
  • priority Selection
    default='1' required=True args: [('0', 'Low'), ('1', 'Medium'), ('2', 'High'), ('3', 'Highest')], 'Priority'
  • stage_id Many2one → event.track.stage
    copy=False default=_get_default_stage_id group_expand='_read_group_expand_full' index=True ondelete='restrict' required=True string='Stage' tracking=True args: 'event.track.stage'
  • tag_ids Many2many → event.track.tag
    string='Tags' args: 'event.track.tag'
  • track_start_relative Integer
    compute='_compute_track_time_data' help='Relative time compared to track start (seconds)' args: 'Minutes compare to track start'
  • track_start_remaining Integer
    compute='_compute_track_time_data' help='Remaining time before track starts (seconds)' args: 'Minutes before track starts'
  • user_id Many2one → res.users
    default=<expr> tracking=True args: 'res.users', 'Responsible'
  • website_cta Boolean
    help='Display a Call to Action button to your Attendees while they watch your Track.' args: 'Magic Button'
  • website_cta_delay Integer
    args: 'Show Button'
  • website_cta_start_remaining Integer
    compute='_compute_cta_time_data' help='Remaining time before CTA starts (seconds)' args: 'Minutes before CTA starts'
  • website_cta_title Char
    args: 'Button Title'
  • website_cta_url Char
    args: 'Button Target URL'
  • website_image Image
    max_height=1024 max_width=1024 string='Website Image'
  • website_image_url Char
    compute='_compute_website_image_url' compute_sudo=True store=False string='Image URL'
  • wishlist_visitor_count Integer
    compute='_compute_wishlist_visitor_ids' compute_sudo=True groups='event.group_event_user' string='# Wishlisted'
  • wishlist_visitor_ids Many2many → website.visitor
    compute='_compute_wishlist_visitor_ids' compute_sudo=True groups='event.group_event_user' search='_search_wishlist_visitor_ids' string='Visitor Wishlist' args: 'website.visitor'
  • wishlisted_by_default Boolean
    help='If set, the talk will be set as favorite for each attendee registered to the event.' string='Always Wishlisted'
Public methods (4)
  • create(self, vals_list)
    @api.model_create_multi
  • get_backend_menu_id(self)
  • open_track_speakers_list(self)
  • write(self, vals)

New fields (2)
  • name Char
    required=True args: 'Location'
  • sequence Integer
    default=10 help='Define the order in which the location will appear on "Agenda" page'
Public methods (0)

No public methods.

New fields (12)
  • color Integer
    string='Color'
  • description Text
    string='Description' translate=True
  • fold Boolean
    help='This stage is folded in the kanban view when there are no records in that stage to display.' string='Folded in Kanban'
  • is_cancel Boolean
    string='Cancelled Stage'
  • is_fully_accessible Boolean
    compute='_compute_is_fully_accessible' help='If checked, automatically publish tracks so that access links to customers are provided.' store=True string='Fully accessible'
  • is_visible_in_agenda Boolean
    compute='_compute_is_visible_in_agenda' help='If checked, the related tracks will be visible in the frontend.' store=True string='Visible in agenda'
  • legend_blocked Char
    default=<expr> translate=True args: 'Red Kanban Label'
  • legend_done Char
    default=<expr> translate=True args: 'Green Kanban Label'
  • legend_normal Char
    default=<expr> translate=True args: 'Grey Kanban Label'
  • mail_template_id Many2one → mail.template
    domain=[('model', '=', 'event.track')] help='If set an email will be sent to the customer when the track reaches this step.' string='Email Template' args: 'mail.template'
  • name Char
    required=True string='Stage Name' translate=True
  • sequence Integer
    default=1 string='Sequence'
Public methods (0)

No public methods.

New fields (5)
  • category_id Many2one → event.track.tag.category
    index='btree_not_null' ondelete='set null' string='Category' args: 'event.track.tag.category'
  • color Integer
    default=<expr> help="Note that colorless tags won't be available on the website." string='Color Index'
  • name Char
    required=True args: 'Tag Name'
  • sequence Integer
    default=10 args: 'Sequence'
  • track_ids Many2many → event.track
    string='Tracks' args: 'event.track'
Public methods (0)

No public methods.

New fields (3)
  • name Char
    required=True translate=True args: 'Name'
  • sequence Integer
    default=10 args: 'Sequence'
  • tag_ids One2many → event.track.tag
    string='Tags' args: 'event.track.tag', 'category_id'
Public methods (0)

No public methods.

New fields (5)
  • is_blacklisted Boolean
    help='As key track cannot be un-favorited, this field store the partner choice to remove the reminder for key tracks.' string='Is reminder off'
  • is_wishlisted Boolean
    string='Is Wishlisted'
  • partner_id Many2one → res.partner
    compute='_compute_partner_id' index=True ondelete='set null' readonly=False store=True string='Partner' args: 'res.partner'
  • track_id Many2one → event.track
    index=True ondelete='cascade' required=True string='Track' args: 'event.track'
  • visitor_id Many2one → website.visitor
    index=True ondelete='cascade' string='Visitor' args: 'website.visitor'
Public methods (0)

No public methods.

New fields (2)
  • website_track Boolean
    compute='_compute_website_track_menu_data' readonly=False store=True string='Tracks on Website'
  • website_track_proposal Boolean
    compute='_compute_website_track_menu_data' readonly=False store=True string='Tracks Proposals on Website'
Public methods (0)

No public methods.

New fields (1)
  • events_app_name Char
    readonly=False related='website_id.events_app_name' args: 'Events App Name'
Public methods (0)

No public methods.

New fields (2)
  • app_icon Image
    compute='_compute_app_icon' help='This field holds the image used as mobile app icon on the website (PNG format).' readonly=True store=True string='Website App Icon'
  • events_app_name Char
    compute='_compute_events_app_name' help="This fields holds the Event's Progressive Web App name." readonly=False store=True string='Events App Name'
Public methods (0)

No public methods.

New fields (1)
  • menu_type Selection
    ondelete={'track': 'cascade', 'track_proposal': 'cascade'} selection_add=[('track', 'Event Tracks Menus'), ('track_proposal', 'Event Proposals Menus')]
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)
    Override to synchronize event configuration fields with menu deletion. This should be cleaned in upcoming versions.

New fields (3)
  • event_track_visitor_ids One2many → event.track.visitor
    groups='event.group_event_user' string='Track Visitors' args: 'event.track.visitor', 'visitor_id'
  • event_track_wishlisted_count Integer
    compute='_compute_event_track_wishlisted_ids' compute_sudo=True groups='event.group_event_user' string='# Wishlisted'
  • event_track_wishlisted_ids Many2many → event.track
    compute='_compute_event_track_wishlisted_ids' compute_sudo=True groups='event.group_event_user' search='_search_event_track_wishlisted_ids' string='Wishlisted Tracks' args: 'event.track'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…