0001-manager-use-slug-instead-of-start_datetime-to-identi.patch
chrono/agendas/models.py | ||
---|---|---|
594 | 594 |
excluded_datetimes = collections.defaultdict(list) |
595 | 595 |
for event in events: |
596 | 596 |
if event.primary_event_id: |
597 |
excluded_datetimes[event.primary_event_id].append(make_naive(event.start_datetime))
|
|
597 |
excluded_datetimes[event.primary_event_id].append(event.datetime_slug)
|
|
598 | 598 | |
599 | 599 |
events = [ |
600 | 600 |
e for e in events if (not e.cancelled or include_cancelled) and (not e.full or include_full) |
... | ... | |
641 | 641 |
report.events.set(events) |
642 | 642 | |
643 | 643 |
# add recurrences |
644 |
excluded_datetimes = [make_naive(dt) for dt in recurrences.values_list('start_datetime', flat=True)]
|
|
644 |
excluded_datetimes = [event.datetime_slug for event in recurrences]
|
|
645 | 645 |
Event.create_events_recurrences( |
646 | 646 |
recurring_events.filter(recurrence_end_date__isnull=False), excluded_datetimes |
647 | 647 |
) |
... | ... | |
1487 | 1487 |
) |
1488 | 1488 |
Event.objects.bulk_create(recurrences) |
1489 | 1489 | |
1490 |
@property |
|
1491 |
def datetime_slug(self): |
|
1492 |
assert self.primary_event is not None, 'only for event recurrence' |
|
1493 | ||
1494 |
datetime_part = self.slug.rsplit('--')[-1] |
|
1495 |
return datetime.datetime.strptime(datetime_part, '%Y-%m-%d-%H%M') |
|
1496 | ||
1490 | 1497 | |
1491 | 1498 |
class BookingColor(models.Model): |
1492 | 1499 |
COLOR_COUNT = 8 |
chrono/manager/forms.py | ||
---|---|---|
238 | 238 |
self.instance.recurrences.filter( |
239 | 239 |
start_datetime__gt=self.instance.recurrence_end_date |
240 | 240 |
).delete() |
241 |
excluded_datetimes = [ |
|
242 |
make_naive(dt) |
|
243 |
for dt in self.instance.recurrences.values_list('start_datetime', flat=True) |
|
244 |
] |
|
241 |
excluded_datetimes = [event.datetime_slug for event in self.instance.recurrences.all()] |
|
245 | 242 |
self.instance.create_all_recurrences(excluded_datetimes) |
246 | 243 |
return self.instance |
247 | 244 | |
248 |
- |