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_track_time_data

View 18.0 View 20.0
Inputs Method Outputs
  • date
  • date_end
  • track_start_relative
""" 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.date:
+             if not (track.date or track.date_end):
                track.is_track_live = track.is_track_soon = track.is_track_today = track.is_track_upcoming = track.is_track_done = False
                track.track_start_relative = track.track_start_remaining = 0
                continue
-             date_begin_utc = utc.localize(track.date, is_dst=False)
-             date_end_utc = utc.localize(track.date_end, is_dst=False)
+             date_begin_utc = track.date.replace(tzinfo=UTC)
+             date_end_utc = track.date_end.replace(tzinfo=UTC)
            track.is_track_live = date_begin_utc <= now_utc < date_end_utc
            track.is_track_soon = (date_begin_utc - now_utc).total_seconds() < 30*60 if date_begin_utc > now_utc else False
            track.is_track_today = date_begin_utc.date() == now_utc.date()
            track.is_track_upcoming = date_begin_utc > now_utc
            track.is_track_done = date_end_utc <= now_utc
            if date_begin_utc >= now_utc:
                track.track_start_relative = int((date_begin_utc - now_utc).total_seconds())
                track.track_start_remaining = track.track_start_relative
            else:
                track.track_start_relative = int((now_utc - date_begin_utc).total_seconds())
                track.track_start_remaining = 0
  • is_track_live
  • is_track_soon
  • is_track_today
  • is_track_upcoming
  • is_track_done
  • track_start_relative
  • track_start_remaining

Back to entity