misc: create timeslot virtual id on-demand (#42147)

This commit is contained in:
Frédéric Péters 2020-04-27 18:19:15 +02:00
parent 6f6bc17fe9
commit cf030d8e4d
1 changed files with 8 additions and 1 deletions

View File

@ -31,6 +31,7 @@ from django.urls import reverse
from django.utils.dates import WEEKDAYS
from django.utils.encoding import force_text
from django.utils.formats import date_format
from django.utils.functional import cached_property
from django.utils.text import slugify
from django.utils.timezone import localtime, now, make_aware, make_naive, is_aware
from django.utils.translation import ugettext_lazy as _
@ -340,9 +341,15 @@ class TimeSlot(object):
self.start_datetime = start_datetime
self.end_datetime = start_datetime + datetime.timedelta(minutes=meeting_type.duration)
self.meeting_type = meeting_type
self.id = '%s:%s' % (meeting_type.id or meeting_type.slug, start_datetime.strftime('%Y-%m-%d-%H%M'))
self.desk = desk
@cached_property
def id(self):
return '%s:%s' % (
self.meeting_type.id or self.meeting_type.slug,
self.start_datetime.strftime('%Y-%m-%d-%H%M'),
)
def __str__(self):
return date_format(self.start_datetime, format='DATETIME_FORMAT')