Projet

Général

Profil

0001-agendas-fix-event-slug-migration-45006.patch

Lauréline Guérin, 10 juillet 2020 09:39

Télécharger (1,43 ko)

Voir les différences:

Subject: [PATCH] agendas: fix event slug migration (#45006)

 chrono/agendas/migrations/0049_event_slug.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
chrono/agendas/migrations/0049_event_slug.py
1 1
# -*- coding: utf-8 -*-
2 2
from __future__ import unicode_literals
3 3

  
4
import uuid
5

  
4 6
from django.db import migrations
5 7
from django.utils.text import slugify
6 8

  
......
20 22

  
21 23
def set_slug_on_events(apps, schema_editor):
22 24
    Event = apps.get_model('agendas', 'Event')
23
    for event in Event.objects.all().order_by('-pk'):
25
    for event in Event.objects.filter(agenda__kind='meetings'):
26
        # set slug on meeting events
27
        event.slug = str(uuid.uuid4())
28
        event.save(update_fields=['slug'])
29
    for event in Event.objects.exclude(agenda__kind='meetings').order_by('-pk'):
30
        # set slug on other events
24 31
        if event.slug and not Event.objects.filter(slug=event.slug).exclude(pk=event.pk).exists():
25 32
            continue
26 33
        event.slug = generate_slug(event)
27
-