Browse Source

Nástřel implementace políčka "Jak se dozvěděli"

okenkove_obalky
Kristyna Petrlikova 2 years ago
parent
commit
b80e73efb9
  1. 2
      personalni/forms.py
  2. 9
      personalni/templates/personalni/udaje/prihlaska.html
  3. 4
      personalni/views.py
  4. 18
      seminar/migrations/0102_osoba_jak_se_dozvedeli.py
  5. 2
      seminar/models/personalni.py

2
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)

9
personalni/templates/personalni/udaje/prihlaska.html

@ -112,6 +112,15 @@
<hr>
<h4>
Ostatní
</h4>
<table class="form">
{% include "personalni/udaje/prihlaska_field.html" with field=form.jak_se_dozvedeli %}
</table>
<input type="submit" value="Odeslat">
</form>
<script>

4
personalni/views.py

@ -176,7 +176,7 @@ def resitelEditView(request):
return render(request, 'personalni/udaje/edit.html', {'form': form})
@sensitive_post_parameters('jmeno', 'prijmeni', 'email', 'telefon', 'datum_narozeni', 'ulice', 'mesto', 'psc', 'skola')
@sensitive_post_parameters('jmeno', 'prijmeni', 'email', 'telefon', 'datum_narozeni', 'ulice', 'mesto', 'psc', 'skola', 'jak_se_dozvedeli')
def prihlaskaView(request):
generic_logger = logging.getLogger('seminar.prihlaska')
err_logger = logging.getLogger('seminar.prihlaska.problem')
@ -212,6 +212,7 @@ def prihlaskaView(request):
ulice = fcd.get('ulice',''),
mesto = fcd.get('mesto',''),
psc = fcd.get('psc',''),
jak_se_dozvedeli = fcd.get('jak_se_dozvedeli',''),
poznamka = str(fcd)
)
@ -336,6 +337,7 @@ def dataResiteluCsvResponse(queryset, columns=None, with_header=True):
'osoba__psc',
'osoba__stat',
'skola', #FIXME: dává jen ID
'jak_se_dozvedeli',
'poznamka',
'osoba__poznamka',
'rok_maturity',

18
seminar/migrations/0102_osoba_jak_se_dozvedeli.py

@ -0,0 +1,18 @@
# Generated by Django 3.2.15 on 2022-08-15 19:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('seminar', '0101_auto_20211213_2306'),
]
operations = [
migrations.AddField(
model_name='osoba',
name='jak_se_dozvedeli',
field=models.TextField(blank=True, verbose_name='Jak se dozvěděli'),
),
]

2
seminar/models/personalni.py

@ -70,6 +70,8 @@ class Osoba(SeminarModelBase):
stat = CountryField('stát', default='CZ',
help_text='ISO 3166-1 kód země velkými písmeny (CZ, SK, ...)')
jak_se_dozvedeli = models.TextField('Jak se dozvěděli', blank=True)
poznamka = models.TextField('neveřejná poznámka', blank=True,
help_text='Neveřejná poznámka k osobě (plain text)')

Loading…
Cancel
Save