Jonas Havelka
1 year ago
12 changed files with 196 additions and 0 deletions
@ -0,0 +1,7 @@ |
|||
from django.contrib import admin |
|||
|
|||
from .models import UcastnikVyroci |
|||
|
|||
# Register your models here. |
|||
|
|||
admin.register(UcastnikVyroci) |
@ -0,0 +1,5 @@ |
|||
from django.apps import AppConfig |
|||
|
|||
|
|||
class VyrociConfig(AppConfig): |
|||
name = 'vyroci' |
@ -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 |
@ -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?')), |
|||
], |
|||
), |
|||
] |
@ -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, |
|||
) |
|||
|
@ -0,0 +1,56 @@ |
|||
{% extends "base.html" %} |
|||
|
|||
{% block content %} |
|||
|
|||
<h1>{% block nadpis1a %}M&Mí 30!*{% endblock nadpis1a %}</h1> |
|||
|
|||
<h4>*plným názvem M&Mí 265252859812191058636308480000000.</h4> |
|||
|
|||
<p>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.</p> |
|||
|
|||
<p>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> |
|||
|
|||
<ul> |
|||
<li> Kdy: pátek 22. – neděle 24. 9. 2023 </li> |
|||
<li> Kde: <a href="https://borovice.cz/inzerat/2587-zakladna-pratel-prirody-upirci-2">Klubovna Upírků v Libčicích n.V.</a></li> |
|||
<li> Kdo jede: Káťa, (R)adim{% for ucastnik in ucastnici %}, {{ ucastnik.prezdivka }}{% endfor %}</li> |
|||
</ul> |
|||
|
|||
<h2>Přihlašovací formulář</h2> |
|||
|
|||
<p><b>Tučně</b> popsaná pole jsou povinná.</p> |
|||
|
|||
<form action="{% url 'vyrocni_sraz' %}" method="post"> |
|||
<table class="form"> |
|||
{% for field in form %} |
|||
<tr> |
|||
<td> |
|||
<label class="field-label{% if field.field.required %} field-required{% endif %}" for="{{ field.id_for_label }}"> |
|||
{{ field.label }} |
|||
</label> |
|||
|
|||
</td> |
|||
|
|||
<td {% if field.help_text %} class="field-with-comment"{% endif %}> |
|||
{{ field }} |
|||
<span class="field-comment">{{ field.help_text|safe }}</span> |
|||
</td> |
|||
|
|||
</tr> |
|||
|
|||
|
|||
{% if field.errors %} |
|||
<tr> |
|||
<td colspan="2"><span class="field-error">{{ field.errors }}</span></td> |
|||
</tr> |
|||
{% endif %} |
|||
{% endfor %} |
|||
</table> |
|||
|
|||
{% csrf_token %} |
|||
{{form.non_field_errors}} |
|||
|
|||
<input type="submit" value="Přihlásit se!"> |
|||
</form> |
|||
|
|||
{% endblock content %} |
@ -0,0 +1,11 @@ |
|||
from django.urls import path |
|||
|
|||
from .views import VyrociView |
|||
|
|||
urlpatterns = [ |
|||
path( |
|||
'sraz/', |
|||
VyrociView.as_view(), |
|||
name='vyrocni_sraz' |
|||
), |
|||
] |
@ -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 |
Loading…
Reference in new issue