Projet

Général

Profil

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

Lauréline Guérin, 10 juillet 2020 12:10

Télécharger (1,49 ko)

Voir les différences:

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

 chrono/agendas/migrations/0049_event_slug.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
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'):
24
        if event.slug and not Event.objects.filter(slug=event.slug).exclude(pk=event.pk).exists():
25
            continue
25
    for event in Event.objects.filter(agenda__kind='meetings', slug__isnull=True):
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').filter(slug__isnull=True).order_by('-pk'):
26 30
        event.slug = generate_slug(event)
27 31
        event.save(update_fields=['slug'])
28 32

  
29
-