Merge branch 'data_migrations' into test
This commit is contained in:
commit
5db62cf94c
4 changed files with 18 additions and 15 deletions
|
@ -121,7 +121,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fields": {
|
"fields": {
|
||||||
"content": "<p>Svá řešení či případné dotazy nám můžete posílat buď klasickou, nebo elektronickou poštou:</p>\r\n\r\n<p><strong>Adresa redakce</strong>:</p>\r\n\r\n<p>M&M, OPMK MFF UK<br />\r\nKe Karlovu 3<br />\r\n121 16 Praha 2</p>\r\n\r\n<p><strong>E-mail</strong>:<a href=\"mailto:mam@matfyz.cz\" style=\"color: rgb(133, 49, 1); line-height: 20.8px;\"> mam@matfyz.cz</a></p>\r\n\r\n<p> </p>\r\n\r\n<p><strong>Facebook:</strong> <a href=\"https://www.facebook.com/casopis.MaM?fref=ts\">Korespondenční seminář M&M</a></p>\r\n\r\n<p><strong>Google Kalendář:</strong> <a href=\"https://calendar.google.com/calendar/embed?src=casopis.mam%40gmail.com&ctz=Europe%2FPrague\">casopis.mam@gmail.com</a></p>\r\n\r\n<p> </p>\r\n\r\n<p>Během školního roku je velká část <a href=\"/o-nas/organizatori/\"><strong>organizátorů</strong></a> k zastižení na koleji 17. listopadu či jinde po Praze.</p>",
|
"content": "<p>Svá řešení nahrávejte do <strong><a href=\"/resitel/nahraj_reseni\">odevzdávátka</a></strong>.</p>\r\n\r\n<p> </p>\r\n\r\n<p>Máte-li nějaké dotazy, neváhejte nás kontaktovat.</p>\r\n\r\n<p><strong>E-mail</strong>: <a href=\"mailto:mam@matfyz.cz\" style=\"color: rgb(133, 49, 1); line-height: 20.8px;\">mam@matfyz.cz</a></p>\r\n\r\n<p><strong>Facebook:</strong> <a href=\"https://www.facebook.com/casopis.MaM?fref=ts\">Korespondenční seminář M&M</a></p>\r\n\r\n<p><strong>Adresa redakce</strong>:</p>\r\n\r\n<p>M&M, OPMK MFF UK<br />\r\nKe Karlovu 3<br />\r\n121 16 Praha 2</p>\r\n\r\n<p> </p>\r\n\r\n<p>Akce a termíny pro odevzdávání řešení najdete v našem kalendáři.</p>\r\n\r\n<p><strong>Google Kalendář:</strong> <a href=\"https://calendar.google.com/calendar/embed?src=casopis.mam%40gmail.com&ctz=Europe%2FPrague\">casopis.mam@gmail.com</a></p>\r\n\r\n<p> </p>\r\n\r\n<p>Během školního roku je velká část <a href=\"/o-nas/organizatori/\"><strong>organizátorů</strong></a> k zastižení na koleji 17. listopadu či jinde po Praze.</p>",
|
||||||
"enable_comments": false,
|
"enable_comments": false,
|
||||||
"registration_required": false,
|
"registration_required": false,
|
||||||
"sites": [
|
"sites": [
|
||||||
|
@ -179,4 +179,4 @@
|
||||||
"model": "flatpages.flatpage",
|
"model": "flatpages.flatpage",
|
||||||
"pk": 28
|
"pk": 28
|
||||||
}
|
}
|
||||||
]
|
]
|
|
@ -4,13 +4,15 @@ from __future__ import unicode_literals
|
||||||
|
|
||||||
from django.db import migrations
|
from django.db import migrations
|
||||||
|
|
||||||
|
from datetime import date
|
||||||
|
|
||||||
def resitel_to_osoba(apps,schema_editor):
|
def resitel_to_osoba(apps,schema_editor):
|
||||||
Resitel = apps.get_model('seminar','Resitel')
|
Resitel = apps.get_model('seminar','Resitel')
|
||||||
Osoba = apps.get_model('seminar','Osoba')
|
Osoba = apps.get_model('seminar','Osoba')
|
||||||
for r in Resitel.objects.all():
|
for r in Resitel.objects.all():
|
||||||
o = Osoba()
|
o = Osoba()
|
||||||
o.datum_narozeni = r.datum_narozeni
|
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_udaje = r.datum_souhlasu_udaje
|
||||||
o.datum_souhlasu_zasilani = r.datum_souhlasu_zasilani
|
o.datum_souhlasu_zasilani = r.datum_souhlasu_zasilani
|
||||||
o.email = r.email
|
o.email = r.email
|
||||||
|
@ -28,26 +30,23 @@ def resitel_to_osoba(apps,schema_editor):
|
||||||
if u.first_name:
|
if u.first_name:
|
||||||
if not o.jmeno:
|
if not o.jmeno:
|
||||||
o.jmeno = u.first_name
|
o.jmeno = u.first_name
|
||||||
u.first_name = 'Použij osobu!'
|
u.first_name += ' (Uživatel!)'
|
||||||
elif o.jmeno == u.first_name:
|
elif o.jmeno == u.first_name:
|
||||||
u.first_name = 'Použij osobu!'
|
u.first_name += ' (Uživatel!)'
|
||||||
else:
|
else:
|
||||||
raise ValueError('jmeno a first_name rozdílné: "{}" vs. "{}"'.format(o.jmeno, u.first_name))
|
raise ValueError('jmeno a first_name rozdílné: "{}" vs. "{}"'.format(o.jmeno, u.first_name))
|
||||||
if u.last_name:
|
if u.last_name:
|
||||||
if not o.prijmeni:
|
if not o.prijmeni:
|
||||||
o.prijmeni = u.last_name
|
o.prijmeni = u.last_name
|
||||||
u.last_name = 'Použij osobu!'
|
u.last_name += ' (Uživatel!)'
|
||||||
elif o.prijmeni == u.last_name:
|
elif o.prijmeni == u.last_name:
|
||||||
u.last_name = 'Použij osobu!'
|
u.last_name += ' (Uživatel!)'
|
||||||
else:
|
else:
|
||||||
raise ValueError('prijmeni a last_name rozdílné: "{}" vs. "{}"'.format(o.prijmeni, u.last_name))
|
raise ValueError('prijmeni a last_name rozdílné: "{}" vs. "{}"'.format(o.prijmeni, u.last_name))
|
||||||
if u.email:
|
if u.email:
|
||||||
if not o.email:
|
if not o.email:
|
||||||
o.email = u.email
|
o.email = u.email
|
||||||
u.email = 'Použij osobu!'
|
elif o.email != u.email:
|
||||||
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))
|
raise ValueError('o.email a u.email rozdílné: "{}" vs. "{}"'.format(o.email, u.email))
|
||||||
u.save()
|
u.save()
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,8 @@ from __future__ import unicode_literals
|
||||||
|
|
||||||
from django.db import migrations
|
from django.db import migrations
|
||||||
|
|
||||||
|
from datetime import date
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
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.
|
# Je to podezřelé, ale prostě vyrobíme novou osobu.
|
||||||
osoba = Osoba(user=user)
|
osoba = Osoba(user=user)
|
||||||
# Téhle osobě nejdou nastavit detaily, protože žádné nemáme.
|
# Téhle osobě nejdou nastavit detaily, protože žádné nemáme.
|
||||||
|
# Datum registrace budiž minimální
|
||||||
|
osoba.datum_registrace = date.min
|
||||||
else:
|
else:
|
||||||
logger.info(f'Org {org.user.email}(ID: {org.id}) má uživatele {user}')
|
logger.info(f'Org {org.user.email}(ID: {org.id}) má uživatele {user}')
|
||||||
# 💢💢💢 Python nemá goto, ale prý má výjimky… 💢💢💢
|
# 💢💢💢 Python nemá goto, ale prý má výjimky… 💢💢💢
|
||||||
|
@ -53,9 +57,9 @@ def spoj_k_organizatorum_osoby(apps, scema_editor):
|
||||||
osoba.jmeno = user.first_name
|
osoba.jmeno = user.first_name
|
||||||
osoba.prijmeni = user.last_name
|
osoba.prijmeni = user.last_name
|
||||||
osoba.email = user.email
|
osoba.email = user.email
|
||||||
user.jmeno = "Použij osobu!"
|
user.jmeno += " (Uživatel!)"
|
||||||
user.prijmeni = "Použij osobu!"
|
user.prijmeni += " (Uživatel!)"
|
||||||
user.email = "Použij osobu!"
|
osoba.datum_registrace = min(osoba.datum_registrace, user.date_joined, key=lambda d: d if d is not None else date.max)
|
||||||
user.save()
|
user.save()
|
||||||
|
|
||||||
except EndException: pass
|
except EndException: pass
|
||||||
|
|
|
@ -156,7 +156,7 @@ urlpatterns = [
|
||||||
path('api/autocomplete/problem/odevzdatelny',views.OdevzdatelnyProblemAutocomplete.as_view(), name='autocomplete_problem_odevzdatelny'),
|
path('api/autocomplete/problem/odevzdatelny',views.OdevzdatelnyProblemAutocomplete.as_view(), name='autocomplete_problem_odevzdatelny'),
|
||||||
|
|
||||||
path('temp/add_solution', org_required(views.AddSolutionView.as_view()), name='seminar_vloz_reseni'),
|
path('temp/add_solution', org_required(views.AddSolutionView.as_view()), name='seminar_vloz_reseni'),
|
||||||
path('temp/nahraj_reseni', resitel_required(views.NahrajReseniView.as_view()), name='seminar_nahraj_reseni'),
|
path('resitel/nahraj_reseni', resitel_required(views.NahrajReseniView.as_view()), name='seminar_nahraj_reseni'),
|
||||||
|
|
||||||
re_path(r'^temp/vue/.*$',views.VueTestView.as_view(),name='vue_test_view'),
|
re_path(r'^temp/vue/.*$',views.VueTestView.as_view(),name='vue_test_view'),
|
||||||
path('temp/image_upload/', views.NahrajObrazekKTreeNoduView.as_view()),
|
path('temp/image_upload/', views.NahrajObrazekKTreeNoduView.as_view()),
|
||||||
|
|
Loading…
Reference in a new issue