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
| Inputs | Method | Outputs |
|---|---|---|
|
""" 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
|
|
