mamweb/seminar/migrations/0051_resitel_to_osoba.py

90 lines
2.4 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
# Generated by Django 1.11.20 on 2019-05-10 20:44
from __future__ import unicode_literals
from django.db import migrations
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_souhlasu_udaje = r.datum_souhlasu_udaje
o.datum_souhlasu_zasilani = r.datum_souhlasu_zasilani
o.email = r.email
o.jmeno = r.jmeno
o.mesto = r.mesto
o.pohlavi_muz = r.pohlavi_muz
o.prijmeni = r.prijmeni
o.psc = r.psc
o.stat = r.stat
o.telefon = r.telefon
o.ulice = r.ulice
o.user = r.user
if o.user:
u = o.user
if u.first_name:
if not o.jmeno:
o.jmeno = u.first_name
u.first_name = 'Použij osobu!'
elif o.jmeno == u.first_name:
u.first_name = 'Použij osobu!'
else:
raise ValueError('jmeno a first_name rozdílné: "{}" vs. "{}"'.format(o.jmeno, u.first_name))
if u.last_name:
if not o.prijmeni:
o.prijmeni = u.last_name
u.last_name = 'Použij osobu!'
elif o.prijmeni == u.last_name:
u.last_name = 'Použij osobu!'
else:
raise ValueError('prijmeni a last_name rozdílné: "{}" vs. "{}"'.format(o.prijmeni, u.last_name))
if u.email:
if not o.email:
o.email = u.email
u.email = 'Použij osobu!'
elif o.email == u.email:
u.email = 'Použij osobu!'
else:
raise ValueError('o.email a u.email rozdílné: "{}" vs. "{}"'.format(o.email, u.email))
u.save()
o.save()
r.osoba = o
r.save()
def osoba_to_resitel(apps, schema_editor):
Resitel = apps.get_model('seminar','Resitel')
Osoba = apps.get_model('seminar','Osoba')
for r in Resitel.objects.all():
o = r.osoba
r.datum_narozeni = o.datum_narozeni
r.datum_prihlaseni = o.datum_registrace
r.datum_souhlasu_udaje = o.datum_souhlasu_udaje
r.datum_souhlasu_zasilani = o.datum_souhlasu_zasilani
r.email = o.email
r.jmeno = o.jmeno
r.mesto = o.mesto
r.pohlavi_muz = o.pohlavi_muz
r.prijmeni = o.prijmeni
r.psc = o.psc
r.stat = o.stat
r.telefon = o.telefon
r.ulice = o.ulice
r.user = o.user
r.save()
o.delete()
class Migration(migrations.Migration):
dependencies = [
('seminar', '0050_auto_20190510_2228'),
]
operations = [
migrations.RunPython(resitel_to_osoba, osoba_to_resitel),
]