Merge branch 'data_migrations' into test
This commit is contained in:
commit
7770dbf134
3 changed files with 17 additions and 12 deletions
|
@ -25,6 +25,7 @@ def resitel_to_osoba(apps,schema_editor):
|
|||
o.telefon = r.telefon
|
||||
o.ulice = r.ulice
|
||||
o.user = r.user
|
||||
o.poznamka += f'\nWEB DEBUG: Osoba pro řešitele {r.id}'
|
||||
if o.user:
|
||||
u = o.user
|
||||
if u.first_name:
|
||||
|
|
|
@ -23,10 +23,11 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
|
|||
if user is None:
|
||||
logger.error(f'Org {org} nemá uživatele!')
|
||||
# Je to podezřelé, ale prostě vyrobíme novou osobu.
|
||||
osoba = Osoba(user=user)
|
||||
osoba = Osoba()
|
||||
osoba.poznamka += f'\nWEB DEBUG: BUG: Osoba pro Orga {org.id} bez Uživatele'
|
||||
# Téhle osobě nejdou nastavit detaily, protože žádné nemáme.
|
||||
# Datum registrace budiž minimální
|
||||
osoba.datum_registrace = date.min
|
||||
# Datum registrace budiž maximální
|
||||
osoba.datum_registrace = date.max
|
||||
else:
|
||||
logger.info(f'Org {org.user.email}(ID: {org.id}) má uživatele {user}')
|
||||
# 💢💢💢 Python nemá goto, ale prý má výjimky… 💢💢💢
|
||||
|
@ -36,6 +37,7 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
|
|||
resitele = Resitel.objects.filter(user=user)
|
||||
if resitele.count() != 0 and user is not None:
|
||||
osoba = resitele.first().osoba
|
||||
osoba.poznamka += f'\nWEB DEBUG: Osoba pro Orga {org.id} spárovaná podle Uživatele Řešitele'
|
||||
logger.info(f'Našel jsem řešitele {resitele.first().email} podle uživatele, používám jeho Osobu')
|
||||
raise EndException
|
||||
|
||||
|
@ -45,12 +47,14 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
|
|||
osoba = osoby.first()
|
||||
if osoba.user is None:
|
||||
osoba.user = user
|
||||
osoba.poznamka += f'\nWEB DEBUG: Osoba pro Orga {org.id} spárovaná podle e-mailu'
|
||||
logger.info(f'Našel jsem Osobu {osoby.first().email} podle e-mailu')
|
||||
raise EndException
|
||||
|
||||
# Fallback
|
||||
logger.warning(f'Org neměl řešitele, zakládám novou Osobu.')
|
||||
osoba = Osoba(user=user)
|
||||
osoba.poznamka += f'\nWEB DEBUG: Osoba pro Orga {org.id} vytvořena nová jen podle existence Uživatele'
|
||||
|
||||
# Přesun informací z usera do osoby
|
||||
# pro osoby z řešitelů (jediné dosud existující osoby) již v minule migraci
|
||||
|
|
|
@ -323,15 +323,15 @@ def deadline(datum):
|
|||
datum = datum.date()
|
||||
rok = datum.year
|
||||
# Dva ročníky podezřelé z obsahování dat
|
||||
pozdejsi_rocnik = m.Rocnik.objects.filter(prvni_rok=rok)
|
||||
drivejsi_rocnik = m.Rocnik.objects.filter(prvni_rok=rok-1)
|
||||
if any([
|
||||
pozdejsi_rocnik.count() > 1,
|
||||
drivejsi_rocnik.count() > 1,
|
||||
]):
|
||||
raise ValueError(f"Více ročníků začíná/končí stejným rokem: {rok}")
|
||||
pozdejsi_rocnik = pozdejsi_rocnik.first() if pozdejsi_rocnik.count() > 0 else None
|
||||
drivejsi_rocnik = drivejsi_rocnik.first() if drivejsi_rocnik.count() > 0 else None
|
||||
try:
|
||||
pozdejsi_rocnik = m.Rocnik.objects.get(prvni_rok=rok)
|
||||
except m.Rocnik.DoesNotExist:
|
||||
pozdejsi_rocnik = None
|
||||
|
||||
try:
|
||||
drivejsi_rocnik = m.Rocnik.objects.get(prvni_rok=rok-1)
|
||||
except m.Rocnik.DoesNotExist:
|
||||
drivejsi_rocnik = None
|
||||
|
||||
if drivejsi_rocnik is not None:
|
||||
# Předpokládáme, že neexistuje číslo, které má deadline ale nemá finální deadline.
|
||||
|
|
Loading…
Reference in a new issue