Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: Advanced Events

Entity: event.track

Compute Method: _compute_cta_time_data

View 19.0 View 20.0
Inputs Method Outputs
  • website_cta
  • date
  • website_cta_delay
  • date_end
""" Compute start and remaining time for track itself. Do everything in
        UTC as we compute only time deltas here. """
- now_utc = utc.localize(fields.Datetime.now().replace(microsecond=0))
+ now_utc = fields.Datetime.now().replace(microsecond=0, tzinfo=UTC)
for track in self:
            if not track.website_cta:
                track.is_website_cta_live = track.website_cta_start_remaining = False
                continue

-             date_begin_utc = utc.localize(track.date, is_dst=False) + timedelta(minutes=track.website_cta_delay or 0)
-             date_end_utc = utc.localize(track.date_end, is_dst=False)
+             date_begin_utc = track.date.replace(tzinfo=UTC) + timedelta(minutes=track.website_cta_delay or 0)
+             date_end_utc = track.date_end.replace(tzinfo=UTC)
            track.is_website_cta_live = date_begin_utc <= now_utc <= date_end_utc
            if date_begin_utc >= now_utc:
                td = date_begin_utc - now_utc
                track.website_cta_start_remaining = int(td.total_seconds())
            else:
                track.website_cta_start_remaining = 0
  • is_website_cta_live
  • website_cta_start_remaining

Back to entity