diff --git a/data/flat.json b/data/flat.json index 3eea947a..6b9f99ff 100644 --- a/data/flat.json +++ b/data/flat.json @@ -121,7 +121,7 @@ }, { "fields": { - "content": "

Svá řešení či případné dotazy nám můžete posílat buď klasickou, nebo elektronickou poštou:

\r\n\r\n

Adresa redakce:

\r\n\r\n

M&M, OPMK MFF UK
\r\nKe Karlovu 3
\r\n121 16 Praha 2

\r\n\r\n

E-mail: mam@matfyz.cz

\r\n\r\n

 

\r\n\r\n

Facebook: Korespondenční seminář M&M

\r\n\r\n

Google Kalendář: casopis.mam@gmail.com

\r\n\r\n

 

\r\n\r\n

Během školního roku je velká část organizátorů k zastižení na koleji 17. listopadu či jinde po Praze.

", + "content": "

Svá řešení nahrávejte do odevzdávátka.

\r\n\r\n

 

\r\n\r\n

Máte-li nějaké dotazy, neváhejte nás kontaktovat.

\r\n\r\n

E-mail: mam@matfyz.cz

\r\n\r\n

Facebook: Korespondenční seminář M&M

\r\n\r\n

Adresa redakce:

\r\n\r\n

M&M, OPMK MFF UK
\r\nKe Karlovu 3
\r\n121 16 Praha 2

\r\n\r\n

 

\r\n\r\n

Akce a termíny pro odevzdávání řešení najdete v našem kalendáři.

\r\n\r\n

Google Kalendář: casopis.mam@gmail.com

\r\n\r\n

 

\r\n\r\n

Během školního roku je velká část organizátorů k zastižení na koleji 17. listopadu či jinde po Praze.

", "enable_comments": false, "registration_required": false, "sites": [ @@ -179,4 +179,4 @@ "model": "flatpages.flatpage", "pk": 28 } -] +] \ No newline at end of file diff --git a/seminar/migrations/0051_resitel_to_osoba.py b/seminar/migrations/0051_resitel_to_osoba.py index 17237bd0..cba9593b 100644 --- a/seminar/migrations/0051_resitel_to_osoba.py +++ b/seminar/migrations/0051_resitel_to_osoba.py @@ -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 @@ -28,26 +30,23 @@ def resitel_to_osoba(apps,schema_editor): if u.first_name: if not o.jmeno: o.jmeno = u.first_name - u.first_name = 'Použij osobu!' + u.first_name += ' (Uživatel!)' elif o.jmeno == u.first_name: - u.first_name = 'Použij osobu!' + u.first_name += ' (Uživatel!)' 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!' + u.last_name += ' (Uživatel!)' elif o.prijmeni == u.last_name: - u.last_name = 'Použij osobu!' + u.last_name += ' (Uživatel!)' 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: + elif o.email != u.email: raise ValueError('o.email a u.email rozdílné: "{}" vs. "{}"'.format(o.email, u.email)) u.save() diff --git a/seminar/migrations/0052_user_to_organizator.py b/seminar/migrations/0052_user_to_organizator.py index 47d151ae..8d689a8c 100644 --- a/seminar/migrations/0052_user_to_organizator.py +++ b/seminar/migrations/0052_user_to_organizator.py @@ -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… 💢💢💢 @@ -53,9 +57,9 @@ def spoj_k_organizatorum_osoby(apps, scema_editor): osoba.jmeno = user.first_name osoba.prijmeni = user.last_name osoba.email = user.email - user.jmeno = "Použij osobu!" - user.prijmeni = "Použij osobu!" - user.email = "Použij osobu!" + 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 diff --git a/seminar/urls.py b/seminar/urls.py index 8ee67404..14973445 100644 --- a/seminar/urls.py +++ b/seminar/urls.py @@ -156,7 +156,7 @@ urlpatterns = [ 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/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'), path('temp/image_upload/', views.NahrajObrazekKTreeNoduView.as_view()),