From 32141d457f6e18c89f97e9fda202e1b4068ece5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Fri, 2 Jun 2023 21:04:11 +0200 Subject: [PATCH 01/12] =?UTF-8?q?V=C3=BDro=C4=8Dn=C3=AD=20sraz=20M&M?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mamweb/settings_common.py | 1 + mamweb/urls.py | 3 ++ vyroci/__init__.py | 0 vyroci/admin.py | 7 ++++ vyroci/apps.py | 5 +++ vyroci/forms.py | 14 ++++++++ vyroci/migrations/0001_initial.py | 27 ++++++++++++++ vyroci/migrations/__init__.py | 0 vyroci/models.py | 40 +++++++++++++++++++++ vyroci/templates/vyroci/vyroci.html | 56 +++++++++++++++++++++++++++++ vyroci/urls.py | 11 ++++++ vyroci/views.py | 32 +++++++++++++++++ 12 files changed, 196 insertions(+) create mode 100644 vyroci/__init__.py create mode 100644 vyroci/admin.py create mode 100644 vyroci/apps.py create mode 100644 vyroci/forms.py create mode 100644 vyroci/migrations/0001_initial.py create mode 100644 vyroci/migrations/__init__.py create mode 100644 vyroci/models.py create mode 100644 vyroci/templates/vyroci/vyroci.html create mode 100644 vyroci/urls.py create mode 100644 vyroci/views.py diff --git a/mamweb/settings_common.py b/mamweb/settings_common.py index 139190fa..03724d3d 100644 --- a/mamweb/settings_common.py +++ b/mamweb/settings_common.py @@ -150,6 +150,7 @@ INSTALLED_APPS = ( 'personalni', 'soustredeni', 'treenode', + 'vyroci', # Admin upravy: diff --git a/mamweb/urls.py b/mamweb/urls.py index 3577c4f7..7ec5831c 100644 --- a/mamweb/urls.py +++ b/mamweb/urls.py @@ -68,6 +68,9 @@ urlpatterns = [ # REST API # path('api/', include(router.urls)), + # Výroční sraz + path('', include('vyroci.urls')), + ] # This is only needed when using runserver. diff --git a/vyroci/__init__.py b/vyroci/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/vyroci/admin.py b/vyroci/admin.py new file mode 100644 index 00000000..2442df3d --- /dev/null +++ b/vyroci/admin.py @@ -0,0 +1,7 @@ +from django.contrib import admin + +from .models import UcastnikVyroci + +# Register your models here. + +admin.register(UcastnikVyroci) diff --git a/vyroci/apps.py b/vyroci/apps.py new file mode 100644 index 00000000..b30f5d73 --- /dev/null +++ b/vyroci/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class VyrociConfig(AppConfig): + name = 'vyroci' diff --git a/vyroci/forms.py b/vyroci/forms.py new file mode 100644 index 00000000..57e8ebc2 --- /dev/null +++ b/vyroci/forms.py @@ -0,0 +1,14 @@ +from django.forms import ModelForm +from .models import UcastnikVyroci + + +class UcastnikVyrociForm(ModelForm): + class Meta: + model = UcastnikVyroci + fields = "__all__" + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + for field in ["kdy", "cojemam", "cislo", "dodat"]: + self.fields[field].widget.attrs['rows'] = 2 + self.fields[field].widget.attrs['cols'] = 22 diff --git a/vyroci/migrations/0001_initial.py b/vyroci/migrations/0001_initial.py new file mode 100644 index 00000000..1cf16c1a --- /dev/null +++ b/vyroci/migrations/0001_initial.py @@ -0,0 +1,27 @@ +# Generated by Django 2.2.28 on 2023-06-02 18:55 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='UcastnikVyroci', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('jmeno', models.CharField(help_text='Občanská identifikace účastníka víkendovky', max_length=256, verbose_name='Jméno a přijmení')), + ('prezdivka', models.CharField(help_text='Veřejná identifikace účastníka víkendovky', max_length=256, verbose_name='Přezdívka')), + ('email', models.EmailField(help_text='Kontakt na účastníka víkendovky', max_length=256, verbose_name='E-mail')), + ('kdy', models.TextField(max_length=256, verbose_name='Řešil nebo organizoval jsi M&M? Kdy?')), + ('cojemam', models.TextField(max_length=256, verbose_name='Co znamená M&M (a proč)?')), + ('cislo', models.TextField(max_length=256, verbose_name='Co v M&Mí historii značí číslo 265252859812191058636308480000000?')), + ('dodat', models.TextField(blank=True, max_length=256, null=True, verbose_name='Co chci ještě dodat?')), + ], + ), + ] diff --git a/vyroci/migrations/__init__.py b/vyroci/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/vyroci/models.py b/vyroci/models.py new file mode 100644 index 00000000..909fb72f --- /dev/null +++ b/vyroci/models.py @@ -0,0 +1,40 @@ +from django.db import models + +# Create your models here. + + +class UcastnikVyroci(models.Model): + + jmeno = models.CharField( + "Jméno a přijmení", max_length=256, blank=False, null=False, + help_text="Občanská identifikace účastníka víkendovky" + ) + + prezdivka = models.CharField( + "Přezdívka", max_length=256, blank=False, null=False, + help_text="Veřejná identifikace účastníka víkendovky" + ) + + email = models.EmailField( + "E-mail", max_length=256, blank=False, null=False, + help_text="Kontakt na účastníka víkendovky" + ) + + kdy = models.TextField( + "Řešil nebo organizoval jsi M&M? Kdy?", max_length=256, blank=False, + null=False, + ) + + cojemam = models.TextField( + "Co znamená M&M (a proč)?", max_length=256, blank=False, null=False, + ) + + cislo = models.TextField( + "Co v M&Mí historii značí číslo 265252859812191058636308480000000?", + max_length=256, blank=False, null=False, + ) + + dodat = models.TextField( + "Co chci ještě dodat?", max_length=256, blank=True, null=True, + ) + diff --git a/vyroci/templates/vyroci/vyroci.html b/vyroci/templates/vyroci/vyroci.html new file mode 100644 index 00000000..22516121 --- /dev/null +++ b/vyroci/templates/vyroci/vyroci.html @@ -0,0 +1,56 @@ +{% extends "base.html" %} + +{% block content %} + +

{% block nadpis1a %}M&Mí 30!*{% endblock nadpis1a %}

+ +

*plným názvem M&Mí 265252859812191058636308480000000.

+ +

Rádi bychom Tě pozvali na plánovaný M&Mí sraz, kde nalezneš možnost se setkat se současnými organizátory a účastníky, minulými organizátory a účastníky, předminulými organizátory a účastníky, předpředminulými organizátory a účastníky a jinými M&Mími legendami.

+ +

Těšit se můžeš na zábavnou akci pro všechny věkové kategorie. Pokud máš chuť se zúčastnit, tak neváhej a vyplň přihlašovací formulář níže (pokud plánuješ přijet jen na část víkendu, nebo s sebou někoho vzít – třeba děti, tak to napiš do poznámky). Podrobnější informace o akci budeme rozesílat přibližně dva týdny před akci.

+ + + +

Přihlašovací formulář

+ +

Tučně popsaná pole jsou povinná.

+ +
+ + {% for field in form %} + + + + + + + + + {% if field.errors %} + + + + {% endif %} + {% endfor %} +
+ + + + {{ field }} + {{ field.help_text|safe }} +
{{ field.errors }}
+ + {% csrf_token %} + {{form.non_field_errors}} + + +
+ +{% endblock content %} diff --git a/vyroci/urls.py b/vyroci/urls.py new file mode 100644 index 00000000..ba5312eb --- /dev/null +++ b/vyroci/urls.py @@ -0,0 +1,11 @@ +from django.urls import path + +from .views import VyrociView + +urlpatterns = [ + path( + 'sraz/', + VyrociView.as_view(), + name='vyrocni_sraz' + ), +] diff --git a/vyroci/views.py b/vyroci/views.py new file mode 100644 index 00000000..03f51d0a --- /dev/null +++ b/vyroci/views.py @@ -0,0 +1,32 @@ +from django.views.generic import FormView + +from seminar.models import Osoba +from seminar.views import formularOKView +from .forms import UcastnikVyrociForm +from .models import UcastnikVyroci + + +# Create your views here. + +class VyrociView(FormView): + """ Zobrazí organizátorský rozcestník.""" + template_name = 'vyroci/vyroci.html' + form_class = UcastnikVyrociForm + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context['ucastnici'] = UcastnikVyroci.objects.all() + return context + + def form_valid(self, form): + form.save() + + return formularOKView(self.request, "Úspěšně jsi se přihlásil na víkendovku") + def get_initial(self): + initial = super().get_initial() + if self.request.user.is_authenticated: + osoba = Osoba.objects.filter(user=self.request.user).first() + if osoba is not None: + initial["jmeno"] = osoba.plne_jmeno() + initial["email"] = osoba.email + return initial From 3640c756ac50000d69faed3a4e4b24309de76d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Fri, 2 Jun 2023 21:13:19 +0200 Subject: [PATCH 02/12] =?UTF-8?q?Ach=20jo,=20=E2=80=9Ekop=C3=ADrov=C3=A1n?= =?UTF-8?q?=C3=AD,=20=C4=8Dast=C3=BD=20zdroj=20chyb=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vyroci/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/vyroci/views.py b/vyroci/views.py index 03f51d0a..9a60ff6e 100644 --- a/vyroci/views.py +++ b/vyroci/views.py @@ -9,7 +9,6 @@ from .models import UcastnikVyroci # Create your views here. class VyrociView(FormView): - """ Zobrazí organizátorský rozcestník.""" template_name = 'vyroci/vyroci.html' form_class = UcastnikVyrociForm From f3b00796513fe97fe27f7a5ee124395fcaa195ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Fri, 2 Jun 2023 21:30:47 +0200 Subject: [PATCH 03/12] =?UTF-8?q?Tabulka=20odpov=C4=9Bd=C3=AD=20k=20V?= =?UTF-8?q?=C3=BDro=C4=8Dn=C3=ADmu=20srazu=20M&M?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vyroci/templates/vyroci/vyroci_list.html | 31 ++++++++++++++++++++++++ vyroci/urls.py | 8 +++++- vyroci/views.py | 7 +++++- 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 vyroci/templates/vyroci/vyroci_list.html diff --git a/vyroci/templates/vyroci/vyroci_list.html b/vyroci/templates/vyroci/vyroci_list.html new file mode 100644 index 00000000..3f3a44ba --- /dev/null +++ b/vyroci/templates/vyroci/vyroci_list.html @@ -0,0 +1,31 @@ +{% extends "base.html" %} + +{% block content %} + +

{% block nadpis1a %}M&Mí 30! odpovědi{% endblock nadpis1a %}

+ + + + + + + + + + + + + {% for obj in ucastnikvyroci_list %} + + + + + + + + + + {% endfor %} +
JménoPřezdívkaE-mailKdy účastník/orgCo znamená M&M?Co znamená číslo?Něco dodat?
{{ obj.jmeno }}{{ obj.prezdivka }}{{ obj.email }}{{ obj.kdy }}{{ obj.cojemam }}{{ obj.cislo }}{{ obj.dodat }}
+ +{% endblock content %} diff --git a/vyroci/urls.py b/vyroci/urls.py index ba5312eb..9b1ebfca 100644 --- a/vyroci/urls.py +++ b/vyroci/urls.py @@ -1,6 +1,7 @@ from django.urls import path -from .views import VyrociView +from seminar.utils import org_required +from .views import VyrociView, VyrociListView urlpatterns = [ path( @@ -8,4 +9,9 @@ urlpatterns = [ VyrociView.as_view(), name='vyrocni_sraz' ), + path( + 'sraz_vysledky/', + org_required(VyrociListView.as_view()), + name='vyrocni_sraz_vysledky' + ), ] diff --git a/vyroci/views.py b/vyroci/views.py index 9a60ff6e..40d87302 100644 --- a/vyroci/views.py +++ b/vyroci/views.py @@ -1,4 +1,4 @@ -from django.views.generic import FormView +from django.views.generic import FormView, ListView from seminar.models import Osoba from seminar.views import formularOKView @@ -29,3 +29,8 @@ class VyrociView(FormView): initial["jmeno"] = osoba.plne_jmeno() initial["email"] = osoba.email return initial + + +class VyrociListView(ListView): + template_name = 'vyroci/vyroci_list.html' + model = UcastnikVyroci From 4e1ff92bd88f6776cbdcc4dc2298f2a3ba0f9ac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Fri, 2 Jun 2023 21:32:55 +0200 Subject: [PATCH 04/12] =?UTF-8?q?=C3=9A=C4=8Dastn=C3=ADci=20v=C3=BDro?= =?UTF-8?q?=C4=8D=C3=AD=20v=20adminu=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vyroci/admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vyroci/admin.py b/vyroci/admin.py index 2442df3d..7bf94bef 100644 --- a/vyroci/admin.py +++ b/vyroci/admin.py @@ -4,4 +4,4 @@ from .models import UcastnikVyroci # Register your models here. -admin.register(UcastnikVyroci) +admin.site.register(UcastnikVyroci) From 6f3fe7f0dab4f1a5903deb12ce7780d0145c3df1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Fri, 2 Jun 2023 21:34:51 +0200 Subject: [PATCH 05/12] =?UTF-8?q?Nezalamovat=20e-mail=20a=20jm=C3=A9no=20(?= =?UTF-8?q?a=20p=C5=99ezd=C3=ADvku)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vyroci/templates/vyroci/vyroci_list.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vyroci/templates/vyroci/vyroci_list.html b/vyroci/templates/vyroci/vyroci_list.html index 3f3a44ba..515df76b 100644 --- a/vyroci/templates/vyroci/vyroci_list.html +++ b/vyroci/templates/vyroci/vyroci_list.html @@ -17,9 +17,9 @@ {% for obj in ucastnikvyroci_list %} - {{ obj.jmeno }} - {{ obj.prezdivka }} - {{ obj.email }} + {{ obj.jmeno }} + {{ obj.prezdivka }} + {{ obj.email }} {{ obj.kdy }} {{ obj.cojemam }} {{ obj.cislo }} From ff7914fbb2b7ff4f5852def8807100d0db447bbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Tue, 13 Jun 2023 22:25:39 +0200 Subject: [PATCH 06/12] =?UTF-8?q?P=C5=99ed=C4=9Blan=C3=A9=20odkazy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mamweb/urls.py | 2 +- vyroci/urls.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mamweb/urls.py b/mamweb/urls.py index 7ec5831c..62c9a79a 100644 --- a/mamweb/urls.py +++ b/mamweb/urls.py @@ -69,7 +69,7 @@ urlpatterns = [ # path('api/', include(router.urls)), # Výroční sraz - path('', include('vyroci.urls')), + path('srazy/', include('vyroci.urls')), ] diff --git a/vyroci/urls.py b/vyroci/urls.py index 9b1ebfca..7f0b5ed3 100644 --- a/vyroci/urls.py +++ b/vyroci/urls.py @@ -5,12 +5,12 @@ from .views import VyrociView, VyrociListView urlpatterns = [ path( - 'sraz/', + '30-let/', VyrociView.as_view(), name='vyrocni_sraz' ), path( - 'sraz_vysledky/', + '30-let_vysledky/', org_required(VyrociListView.as_view()), name='vyrocni_sraz_vysledky' ), From 5169c357aaf501cfa4ea6dd9cb7551107f343bc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Tue, 13 Jun 2023 22:33:52 +0200 Subject: [PATCH 07/12] =?UTF-8?q?P=C5=99ed=C4=9Bl=C3=A1ny=20texty=20(ukl?= =?UTF-8?q?=C3=A1dan=C3=A9=20do=20datab=C3=A1ze)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Takhle se to nedělá, ale ještě to není nikde nasazené, tak je to asi v pohodě --- vyroci/migrations/0001_initial.py | 4 ++-- vyroci/models.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/vyroci/migrations/0001_initial.py b/vyroci/migrations/0001_initial.py index 1cf16c1a..2cf55814 100644 --- a/vyroci/migrations/0001_initial.py +++ b/vyroci/migrations/0001_initial.py @@ -15,8 +15,8 @@ class Migration(migrations.Migration): name='UcastnikVyroci', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('jmeno', models.CharField(help_text='Občanská identifikace účastníka víkendovky', max_length=256, verbose_name='Jméno a přijmení')), - ('prezdivka', models.CharField(help_text='Veřejná identifikace účastníka víkendovky', max_length=256, verbose_name='Přezdívka')), + ('jmeno', models.CharField(help_text='Občanská identifikace účastníka víkendovky', max_length=256, verbose_name='Jméno a příjmení')), + ('prezdivka', models.CharField(help_text='Zveřejňovaná identifikace účastníka víkendovky', max_length=256, verbose_name='Přezdívka (do seznamu účastníků, například Bětka N.)')), ('email', models.EmailField(help_text='Kontakt na účastníka víkendovky', max_length=256, verbose_name='E-mail')), ('kdy', models.TextField(max_length=256, verbose_name='Řešil nebo organizoval jsi M&M? Kdy?')), ('cojemam', models.TextField(max_length=256, verbose_name='Co znamená M&M (a proč)?')), diff --git a/vyroci/models.py b/vyroci/models.py index 909fb72f..b4c37573 100644 --- a/vyroci/models.py +++ b/vyroci/models.py @@ -6,13 +6,13 @@ from django.db import models class UcastnikVyroci(models.Model): jmeno = models.CharField( - "Jméno a přijmení", max_length=256, blank=False, null=False, + "Jméno a příjmení", max_length=256, blank=False, null=False, help_text="Občanská identifikace účastníka víkendovky" ) prezdivka = models.CharField( - "Přezdívka", max_length=256, blank=False, null=False, - help_text="Veřejná identifikace účastníka víkendovky" + "Přezdívka (do seznamu účastníků, například Bětka N.)", max_length=256, blank=False, null=False, + help_text="Zveřejňovaná identifikace účastníka víkendovky" ) email = models.EmailField( From cab40cc6efb5ee0a30cc6c3fdbbb2aa89352b1ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Tue, 13 Jun 2023 22:36:08 +0200 Subject: [PATCH 08/12] =?UTF-8?q?P=C5=99ed=C4=9Bl=C3=A1ny=20zbyl=C3=A9=20t?= =?UTF-8?q?exty?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vyroci/templates/vyroci/vyroci.html | 2 +- vyroci/views.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/vyroci/templates/vyroci/vyroci.html b/vyroci/templates/vyroci/vyroci.html index 22516121..a8cf128a 100644 --- a/vyroci/templates/vyroci/vyroci.html +++ b/vyroci/templates/vyroci/vyroci.html @@ -8,7 +8,7 @@

Rádi bychom Tě pozvali na plánovaný M&Mí sraz, kde nalezneš možnost se setkat se současnými organizátory a účastníky, minulými organizátory a účastníky, předminulými organizátory a účastníky, předpředminulými organizátory a účastníky a jinými M&Mími legendami.

-

Těšit se můžeš na zábavnou akci pro všechny věkové kategorie. Pokud máš chuť se zúčastnit, tak neváhej a vyplň přihlašovací formulář níže (pokud plánuješ přijet jen na část víkendu, nebo s sebou někoho vzít – třeba děti, tak to napiš do poznámky). Podrobnější informace o akci budeme rozesílat přibližně dva týdny před akci.

+

Těšit se můžeš na zábavnou akci pro všechny věkové kategorie. Pokud máš chuť se zúčastnit, tak neváhej a vyplň přihlašovací formulář níže (pokud plánuješ přijet jen na část víkendu, nebo s sebou někoho vzít – třeba děti, tak to napiš do poznámky). Podrobnější informace o akci budeme rozesílat přibližně dva týdny před akcí.

  • Kdy: pátek 22. – neděle 24. 9. 2023
  • diff --git a/vyroci/views.py b/vyroci/views.py index 40d87302..a2f4767d 100644 --- a/vyroci/views.py +++ b/vyroci/views.py @@ -20,7 +20,7 @@ class VyrociView(FormView): def form_valid(self, form): form.save() - return formularOKView(self.request, "Úspěšně jsi se přihlásil na víkendovku") + return formularOKView(self.request, "Úspěšně ses přihlásil na sraz") def get_initial(self): initial = super().get_initial() if self.request.user.is_authenticated: From 5e7f6c81bc1a7e6f88bdda35dcffb3d36a0b497c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Tue, 13 Jun 2023 22:40:44 +0200 Subject: [PATCH 09/12] =?UTF-8?q?Odstran=C4=9Bno=20omezen=C3=AD=20na=20Tex?= =?UTF-8?q?tField=20(v=20datab=C3=A1zi)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Takhle se to nedělá, ale ještě to není nikde nasazené, tak je to asi v pohodě --- vyroci/migrations/0001_initial.py | 8 ++++---- vyroci/models.py | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/vyroci/migrations/0001_initial.py b/vyroci/migrations/0001_initial.py index 2cf55814..7d3b7770 100644 --- a/vyroci/migrations/0001_initial.py +++ b/vyroci/migrations/0001_initial.py @@ -18,10 +18,10 @@ class Migration(migrations.Migration): ('jmeno', models.CharField(help_text='Občanská identifikace účastníka víkendovky', max_length=256, verbose_name='Jméno a příjmení')), ('prezdivka', models.CharField(help_text='Zveřejňovaná identifikace účastníka víkendovky', max_length=256, verbose_name='Přezdívka (do seznamu účastníků, například Bětka N.)')), ('email', models.EmailField(help_text='Kontakt na účastníka víkendovky', max_length=256, verbose_name='E-mail')), - ('kdy', models.TextField(max_length=256, verbose_name='Řešil nebo organizoval jsi M&M? Kdy?')), - ('cojemam', models.TextField(max_length=256, verbose_name='Co znamená M&M (a proč)?')), - ('cislo', models.TextField(max_length=256, verbose_name='Co v M&Mí historii značí číslo 265252859812191058636308480000000?')), - ('dodat', models.TextField(blank=True, max_length=256, null=True, verbose_name='Co chci ještě dodat?')), + ('kdy', models.TextField(verbose_name='Řešil nebo organizoval jsi M&M? Kdy?')), + ('cojemam', models.TextField(verbose_name='Co znamená M&M (a proč)?')), + ('cislo', models.TextField(verbose_name='Co v M&Mí historii značí číslo 265252859812191058636308480000000?')), + ('dodat', models.TextField(blank=True, null=True, verbose_name='Co chci ještě dodat?')), ], ), ] diff --git a/vyroci/models.py b/vyroci/models.py index b4c37573..04fd2097 100644 --- a/vyroci/models.py +++ b/vyroci/models.py @@ -21,20 +21,20 @@ class UcastnikVyroci(models.Model): ) kdy = models.TextField( - "Řešil nebo organizoval jsi M&M? Kdy?", max_length=256, blank=False, + "Řešil nebo organizoval jsi M&M? Kdy?", blank=False, null=False, ) cojemam = models.TextField( - "Co znamená M&M (a proč)?", max_length=256, blank=False, null=False, + "Co znamená M&M (a proč)?", blank=False, null=False, ) cislo = models.TextField( "Co v M&Mí historii značí číslo 265252859812191058636308480000000?", - max_length=256, blank=False, null=False, + blank=False, null=False, ) dodat = models.TextField( - "Co chci ještě dodat?", max_length=256, blank=True, null=True, + "Co chci ještě dodat?", blank=True, null=True, ) From e6d4bfe0f57524134a9f050c56125daf61d76ca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Tue, 13 Jun 2023 22:47:00 +0200 Subject: [PATCH 10/12] =?UTF-8?q?=C3=9Apravy=20templat=C5=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vyroci/templates/vyroci/vyroci.html | 4 ++-- vyroci/templates/vyroci/vyroci_list.html | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/vyroci/templates/vyroci/vyroci.html b/vyroci/templates/vyroci/vyroci.html index a8cf128a..3d6df822 100644 --- a/vyroci/templates/vyroci/vyroci.html +++ b/vyroci/templates/vyroci/vyroci.html @@ -13,7 +13,7 @@
    • Kdy: pátek 22. – neděle 24. 9. 2023
    • Kde: Klubovna Upírků v Libčicích n.V.
    • -
    • Kdo jede: Káťa, (R)adim{% for ucastnik in ucastnici %}, {{ ucastnik.prezdivka }}{% endfor %}
    • +
    • Kdo jede: {% for ucastnik in ucastnici %}{% if not forloop.first %}, {% endif %}{{ ucastnik.prezdivka }}{% endfor %}

    Přihlašovací formulář

    @@ -22,6 +22,7 @@
    + {{form.non_field_errors}} {% for field in form %}
    @@ -48,7 +49,6 @@
    {% csrf_token %} - {{form.non_field_errors}}
    diff --git a/vyroci/templates/vyroci/vyroci_list.html b/vyroci/templates/vyroci/vyroci_list.html index 515df76b..efab5b0b 100644 --- a/vyroci/templates/vyroci/vyroci_list.html +++ b/vyroci/templates/vyroci/vyroci_list.html @@ -15,15 +15,15 @@ Něco dodat? - {% for obj in ucastnikvyroci_list %} + {% for u in object_list %} - {{ obj.jmeno }} - {{ obj.prezdivka }} - {{ obj.email }} - {{ obj.kdy }} - {{ obj.cojemam }} - {{ obj.cislo }} - {{ obj.dodat }} + {{ u.jmeno }} + {{ u.prezdivka }} + {{ u.email }} + {{ u.kdy }} + {{ u.cojemam }} + {{ u.cislo }} + {{ u.dodat }} {% endfor %} From 1a008dff191ba5126b3356068a4049e71223a0de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Thu, 15 Jun 2023 13:26:37 +0200 Subject: [PATCH 11/12] =?UTF-8?q?Dal=C5=A1=C3=AD=20=C3=BApravy=20textu=20(?= =?UTF-8?q?a=20vzhledu)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vyroci/templates/vyroci/vyroci.html | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/vyroci/templates/vyroci/vyroci.html b/vyroci/templates/vyroci/vyroci.html index 3d6df822..50c37c32 100644 --- a/vyroci/templates/vyroci/vyroci.html +++ b/vyroci/templates/vyroci/vyroci.html @@ -2,13 +2,19 @@ {% block content %} +
    +

    {% block nadpis1a %}M&Mí 30!*{% endblock nadpis1a %}

    +
    +

    *plným názvem M&Mí 265252859812191058636308480000000.

    -

    Rádi bychom Tě pozvali na plánovaný M&Mí sraz, kde nalezneš možnost se setkat se současnými organizátory a účastníky, minulými organizátory a účastníky, předminulými organizátory a účastníky, předpředminulými organizátory a účastníky a jinými M&Mími legendami.

    +
    + +

    Rádi bychom Tě pozvali na plánovaný M&Mí sraz, kde nalezneš možnost se setkat se současnými organizátory, minulými organizátory a účastníky, předminulými organizátory a účastníky, předpředminulými organizátory a účastníky a jinými M&Mími legendami.

    -

    Těšit se můžeš na zábavnou akci pro všechny věkové kategorie. Pokud máš chuť se zúčastnit, tak neváhej a vyplň přihlašovací formulář níže (pokud plánuješ přijet jen na část víkendu, nebo s sebou někoho vzít – třeba děti, tak to napiš do poznámky). Podrobnější informace o akci budeme rozesílat přibližně dva týdny před akcí.

    +

    Těšit se můžeš na zábavnou akci pro všechny věkové kategorie. Pokud máš chuť se zúčastnit, tak neváhej a vyplň přihlašovací formulář níže (pokud plánuješ přijet jen na část víkendu nebo s sebou někoho vzít – třeba děti, tak to napiš do poznámky). Podrobnější informace o akci budeme rozesílat přibližně dva týdny před akcí.

    • Kdy: pátek 22. – neděle 24. 9. 2023
    • From 07c465e6ca845b32aa2071440cee231ba6745023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Thu, 15 Jun 2023 16:55:31 +0200 Subject: [PATCH 12/12] =?UTF-8?q?Spr=C3=A1vn=C3=A1=20url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mamweb/urls.py | 2 +- vyroci/urls.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mamweb/urls.py b/mamweb/urls.py index 62c9a79a..0855b6b6 100644 --- a/mamweb/urls.py +++ b/mamweb/urls.py @@ -69,7 +69,7 @@ urlpatterns = [ # path('api/', include(router.urls)), # Výroční sraz - path('srazy/', include('vyroci.urls')), + path('sraz/30-let/', include('vyroci.urls')), ] diff --git a/vyroci/urls.py b/vyroci/urls.py index 7f0b5ed3..69132f45 100644 --- a/vyroci/urls.py +++ b/vyroci/urls.py @@ -5,13 +5,13 @@ from .views import VyrociView, VyrociListView urlpatterns = [ path( - '30-let/', + '', VyrociView.as_view(), name='vyrocni_sraz' ), path( - '30-let_vysledky/', + 'ucastnici/', org_required(VyrociListView.as_view()), - name='vyrocni_sraz_vysledky' + name='vyrocni_sraz_ucastnici' ), ]