From 5ff32f14750798650dd0a580c9c862c0f53893c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Thu, 7 Jul 2022 21:33:37 +0200 Subject: [PATCH 1/4] =?UTF-8?q?P=C5=99ihl=C3=A1=C5=A1en=C3=BD=20u=C5=BEiva?= =?UTF-8?q?tel=20nyn=C3=AD=20varov=C3=A1n=20na=20p=C5=99ihla=C5=A1ovac?= =?UTF-8?q?=C3=AD=20str=C3=A1nce=20smysluplnou=20hl=C3=A1=C5=A1kou?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- various/autentizace/templates/autentizace/login.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/various/autentizace/templates/autentizace/login.html b/various/autentizace/templates/autentizace/login.html index ec4c380f..e7b004d7 100644 --- a/various/autentizace/templates/autentizace/login.html +++ b/various/autentizace/templates/autentizace/login.html @@ -10,7 +10,7 @@ {# Obšlehnuto z Admina :-) #} {% if user.is_authenticated %} -

K této stránce nejspíš nemáte přístup. Můžete se zkusit přihlásit jako uživatel, který přístup má.

+

Již jsi přihlášený!

{% endif %}
{% csrf_token %} From 6dcd53b68ffbce5f48ab2a512e629dd6d8cf598b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Fri, 22 Jul 2022 17:46:23 +0200 Subject: [PATCH 2/4] =?UTF-8?q?enumerate(...,1)=20m=C3=ADsto=20+1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seminar/views/docasne.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/seminar/views/docasne.py b/seminar/views/docasne.py index d13c0016..0a9931e3 100644 --- a/seminar/views/docasne.py +++ b/seminar/views/docasne.py @@ -52,10 +52,10 @@ class HromadnePridaniView(FormView): with transaction.atomic(): pfx = f"{t.nazev}, díl {dil}, " - for k, b in enumerate(body): + for k, b in enumerate(body, 1): u = m.Uloha.objects.create( nadproblem=t, - nazev=pfx + f"{'úloha' if b > 0 else 'problém'} {k + 1}", + nazev=pfx + f"{'úloha' if b > 0 else 'problém'} {k}", autor=t.autor, garant=t.garant, max_body=b, From 769a6d2deec9acb855f4bbb81eb9a6f737c42b0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Fri, 22 Jul 2022 18:05:50 +0200 Subject: [PATCH 3/4] =?UTF-8?q?Chyt=C3=A1n=C3=AD=20chyb=20v=20hromadn?= =?UTF-8?q?=C3=A9m=20p=C5=99id=C3=A1n=C3=AD.=20Tak=C3=A9=20p=C5=99id=C3=A1?= =?UTF-8?q?ny=20koment=C3=A1=C5=99e.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seminar/views/docasne.py | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/seminar/views/docasne.py b/seminar/views/docasne.py index 0a9931e3..108360f5 100644 --- a/seminar/views/docasne.py +++ b/seminar/views/docasne.py @@ -1,5 +1,6 @@ from http import HTTPStatus +from django.core.exceptions import ValidationError from django.db import transaction from django.forms import Form, CharField, IntegerField from django.views.generic import FormView @@ -21,28 +22,44 @@ def problemView(request, pk): # FIXME Tohle možná patří do forms.py -# FIXME Tohle není odladěné, selhává to nekontrolovaně -# a obecně je to fujky nekomentovaný kód +# FIXME Chyby se ve formuláři zobrazují nějak divně class HromadnePridaniForm(Form): + """ Formulář pro hromadné přidání úložek a problémů """ + tema = CharField(label="Název tématu:") dil = IntegerField(label="Díl:", min_value=1) body = CharField(label="Počty bodů (0 pro problém) oddělené čárkami:") + def clean_tema(self): + """ Kontrola, že `tema` je název právě jednoho tématu """ + if m.Tema.objects.filter( + nazev__exact=self.cleaned_data['tema'], + nadproblem=None).count() != 1: + raise ValidationError("Špatný nebo nepřesně zadaný název témátka") + + def clean_body(self): + """ Kontrola, že `body` je seznam čísel """ + try: + list(map(int, self.cleaned_data["body"].split(","))) + except ValueError: + raise ValidationError("Špatný formát bodů") + -# FIXME Tohle není odladěné, selhává to nekontrolovaně -# a obecně je to fujky nekomentovaný kód class HromadnePridaniView(FormView): + """ View pro hromadné přidání úložek a problémů """ form_class = HromadnePridaniForm template_name = "generic_form.html" success_url = 'hromadne_pridani' def get_context_data(self, **kwargs): + """ Přidání nadpisu stránky a url, kam se má poslat formulář. """ context = super().get_context_data() context["nadpis"] = "Hromadné přidání úloh" context["form_url"] = "hromadne_pridani" return context def form_valid(self, form): + """ Upravený Pavlův skript na hromadné přidání úložek a problémů. """ cd = form.cleaned_data tema = cd["tema"] dil = cd["dil"] From b80e73efb9a074c584236f9d84aad1402de243ef Mon Sep 17 00:00:00 2001 From: Kristyna Petrlikova Date: Mon, 15 Aug 2022 21:21:06 +0200 Subject: [PATCH 4/4] =?UTF-8?q?N=C3=A1st=C5=99el=20implementace=20pol?= =?UTF-8?q?=C3=AD=C4=8Dka=20"Jak=20se=20dozv=C4=9Bd=C4=9Bli"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- personalni/forms.py | 2 ++ .../templates/personalni/udaje/prihlaska.html | 9 +++++++++ personalni/views.py | 4 +++- .../migrations/0102_osoba_jak_se_dozvedeli.py | 18 ++++++++++++++++++ seminar/models/personalni.py | 2 ++ 5 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 seminar/migrations/0102_osoba_jak_se_dozvedeli.py diff --git a/personalni/forms.py b/personalni/forms.py index 78f1f11a..c1fcdef7 100644 --- a/personalni/forms.py +++ b/personalni/forms.py @@ -70,6 +70,8 @@ class PrihlaskaForm(PasswordResetForm): zasilat = forms.ChoiceField(label='Kam zasílat čísla a řešení',choices = Resitel.ZASILAT_CHOICES, required=True) zasilat_cislo_emailem = forms.BooleanField(label='Chci dostávat e-mailem upozornění na vydání nového čísla', required=False) + jak_se_dozvedeli = forms.CharField(widget=forms.Textarea({"rows": 3, "cols": 20}), label='Jak ses o M&M dozvěděl(a)?', required=False) + gdpr = forms.BooleanField(label='Souhlasím se zpracováním osobních údajů', required=True) spam = forms.BooleanField(label='Souhlasím se zasíláním materiálů od MFF UK', required=False) diff --git a/personalni/templates/personalni/udaje/prihlaska.html b/personalni/templates/personalni/udaje/prihlaska.html index 14355760..6b430a99 100644 --- a/personalni/templates/personalni/udaje/prihlaska.html +++ b/personalni/templates/personalni/udaje/prihlaska.html @@ -112,6 +112,15 @@
+

+ Ostatní +

+ + {% include "personalni/udaje/prihlaska_field.html" with field=form.jak_se_dozvedeli %} +
+ + +