Browse Source

Oprava migr 0052, která rozbíjela Osoby Orgů

Snad opravuje #1140
middleware_test
Pavel "LEdoian" Turinsky 4 years ago
parent
commit
1d062680f6
  1. 6
      seminar/migrations/0001_squashed_0067_auto_20190814_0805.py
  2. 6
      seminar/migrations/0052_user_to_organizator.py

6
seminar/migrations/0001_squashed_0067_auto_20190814_0805.py

@ -114,6 +114,7 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
logger.error(f'Org {org} nemá uživatele!')
# 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.
else:
logger.info(f'Org {org.user.email}(ID: {org.id}) má uživatele {user}')
# 💢💢💢 Python nemá goto, ale prý má výjimky… 💢💢💢
@ -138,10 +139,9 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
# Fallback
logger.warning(f'Org neměl řešitele, zakládám novou Osobu.')
osoba = Osoba(user=user)
except EndException: pass
# Přesun informací z usera do osoby
# pro řešitele již v minule migraci
# pro osoby z řešitelů (jediné dosud existující osoby) již v minule migraci
osoba.jmeno = user.first_name
osoba.prijmeni = user.last_name
osoba.email = user.email
@ -150,6 +150,8 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
user.email = "Použij osobu!"
user.save()
except EndException: pass
# Přesun informací z organizátora do jeho osoby
osoba.prezdivka = org.prezdivka if org.prezdivka is not None else ''
osoba.foto = org.foto

6
seminar/migrations/0052_user_to_organizator.py

@ -22,6 +22,7 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
logger.error(f'Org {org} nemá uživatele!')
# 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.
else:
logger.info(f'Org {org.user.email}(ID: {org.id}) má uživatele {user}')
# 💢💢💢 Python nemá goto, ale prý má výjimky… 💢💢💢
@ -46,10 +47,9 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
# Fallback
logger.warning(f'Org neměl řešitele, zakládám novou Osobu.')
osoba = Osoba(user=user)
except EndException: pass
# Přesun informací z usera do osoby
# pro řešitele již v minule migraci
# pro osoby z řešitelů (jediné dosud existující osoby) již v minule migraci
osoba.jmeno = user.first_name
osoba.prijmeni = user.last_name
osoba.email = user.email
@ -58,6 +58,8 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
user.email = "Použij osobu!"
user.save()
except EndException: pass
# Přesun informací z organizátora do jeho osoby
osoba.prezdivka = org.prezdivka if org.prezdivka is not None else ''
osoba.foto = org.foto

Loading…
Cancel
Save