Merge branch 'data_migrations' of gimli.ms.mff.cuni.cz:/akce/mam/git/mamweb into data_migrations

This commit is contained in:
Kateřina Č 2021-04-27 22:11:29 +02:00
commit 26e6f601aa
2 changed files with 8 additions and 1 deletions

View file

@ -4,13 +4,15 @@ from __future__ import unicode_literals
from django.db import migrations
from datetime import date
def resitel_to_osoba(apps,schema_editor):
Resitel = apps.get_model('seminar','Resitel')
Osoba = apps.get_model('seminar','Osoba')
for r in Resitel.objects.all():
o = Osoba()
o.datum_narozeni = r.datum_narozeni
o.datum_registrace = r.datum_prihlaseni
o.datum_registrace = r.datum_prihlaseni if r.datum_prihlaseni else date.max # Myslím si, že None by způsobilo použití defaultu
o.datum_souhlasu_udaje = r.datum_souhlasu_udaje
o.datum_souhlasu_zasilani = r.datum_souhlasu_zasilani
o.email = r.email

View file

@ -4,6 +4,8 @@ from __future__ import unicode_literals
from django.db import migrations
from datetime import date
import logging
logger = logging.getLogger(__name__)
@ -23,6 +25,8 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
# Je to podezřelé, ale prostě vyrobíme novou osobu.
osoba = Osoba(user=user)
# Téhle osobě nejdou nastavit detaily, protože žádné nemáme.
# Datum registrace budiž minimální
osoba.datum_registrace = date.min
else:
logger.info(f'Org {org.user.email}(ID: {org.id}) má uživatele {user}')
# 💢💢💢 Python nemá goto, ale prý má výjimky… 💢💢💢
@ -55,6 +59,7 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
osoba.email = user.email
user.jmeno += " (Uživatel!)"
user.prijmeni += " (Uživatel!)"
osoba.datum_registrace = min(osoba.datum_registrace, user.date_joined, key=lambda d: d if d is not None else date.max)
user.save()
except EndException: pass