diff --git a/seminar/forms.py b/seminar/forms.py
index 29e6607e..b28beeb9 100644
--- a/seminar/forms.py
+++ b/seminar/forms.py
@@ -123,23 +123,10 @@ class PrihlaskaForm(forms.Form):
self.add_error('skola_adresa',forms.ValidationError('Je nutné vyplnit adresu školy'))
-
-
class EditForm(forms.Form):
username = forms.CharField(label='Přihlašovací jméno',
max_length=256,
- required=True,
- help_text='Tímto jménem se následně budeš přihlašovat pro odevzdání řešení a další činnosti v semináři')
- password = forms.CharField(
- label='Heslo',
- max_length=256,
- required=False,
- widget=forms.PasswordInput())
- password_check = forms.CharField(
- label='Ověření hesla',
- max_length=256,
- required=False,
- widget=forms.PasswordInput())
+ required=True)
jmeno = forms.CharField(label='Jméno', max_length=256, required=True)
prijmeni = forms.CharField(label='Příjmení', max_length=256, required=True)
@@ -178,7 +165,6 @@ class EditForm(forms.Form):
max_value=date.today().year+8,
required=True)
zasilat = forms.ChoiceField(label='Kam zasílat čísla a řešení',choices = Resitel.ZASILAT_CHOICES, required=True)
- 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)
# def clean_username(self):
# err_logger = logging.getLogger('seminar.prihlaska.problem')
diff --git a/seminar/templates/seminar/edit.html b/seminar/templates/seminar/edit.html
index cc039301..3f3e0d99 100644
--- a/seminar/templates/seminar/edit.html
+++ b/seminar/templates/seminar/edit.html
@@ -20,10 +20,6 @@
Přihlašovací údaje
{% include "seminar/prihlaska_field.html" with field=form.username %}
-
- {% include "seminar/prihlaska_field.html" with field=form.password %}
-
- {% include "seminar/prihlaska_field.html" with field=form.password_check %}
Osobní údaje
@@ -68,9 +64,6 @@
{% include "seminar/prihlaska_field.html" with field=form.rok_maturity %}
{% include "seminar/prihlaska_field.html" with field=form.zasilat %}
-
- {% include "seminar/gdpr.html" %}
- {% include "seminar/prihlaska_field.html" with field=form.gdpr %}
{% include "seminar/prihlaska_field.html" with field=form.spam %}
diff --git a/seminar/views.py b/seminar/views.py
index 39ee76af..27728f0c 100644
--- a/seminar/views.py
+++ b/seminar/views.py
@@ -1027,15 +1027,16 @@ def prihlaska_log_gdpr_safe(logger, gdpr_logger, msg, form_data):
from django.forms.models import model_to_dict
def resitelEditView(request):
+ err_logger = logging.getLogger('seminar.prihlaska.problem')
## Načtení objektu Osoba a Resitel, patrici k aktuálně přihlášenému uživately
u = request.user
osoba_edit = Osoba.objects.get(user=u)
resitel_edit = osoba_edit.resitel
user_edit = osoba_edit.user
## Vytvoření slovníku, kterým předvyplním formulář
- prefill_1=model_to_dict(osoba_edit)
+ prefill_1=model_to_dict(user_edit)
prefill_2=model_to_dict(resitel_edit)
- prefill_3=model_to_dict(user_edit)
+ prefill_3=model_to_dict(osoba_edit)
prefill_1.update(prefill_2)
prefill_1.update(prefill_3)
form = EditForm(initial=prefill_1)
@@ -1043,7 +1044,35 @@ def resitelEditView(request):
if request.method == 'POST':
form = EditForm(request.POST)
if form.is_valid():
- osoba_edit.prijmeni = 'NOVOTA'
+ ## Změny v osobě
+ fcd = form.cleaned_data
+ osoba_edit.jmeno = fcd['jmeno']
+ osoba_edit.prijmeni = fcd['prijmeni']
+ osoba_edit.pohlavi_muz = fcd['pohlavi_muz']
+ osoba_edit.email = fcd['email']
+ osoba_edit.telefon = fcd['telefon']
+ osoba_edit.ulice = fcd['ulice']
+ osoba_edit.mesto = fcd['mesto']
+ osoba_edit.psc = fcd['psc']
+ ## Změny v osobě s podmínkami
+ if fcd.get('spam',False):
+ osoba_edit.datum_souhlasu_zasilani = date.today()
+ if fcd.get('stat','') in ('CZ','SK'):
+ osoba_edit.stat = fcd['stat']
+ else:
+ ## Neznámá země
+ msg = "Unknown country {}".format(fcd['stat_text'])
+
+ ## Změny v řešiteli
+ resitel_edit.skola = fcd['skola']
+ resitel_edit.rok_maturity = fcd['rok_maturity']
+ resitel_edit.zasilat = fcd['zasilat']
+ if fcd.get('skola'):
+ resitel_edit.skola = fcd['skola']
+ else:
+ # Unknown school - log it
+ msg = "Unknown school {}, {}".format(fcd['skola_nazev'],fcd['skola_adresa'])
+ resitel_edit.save()
osoba_edit.save()
return HttpResponseRedirect('/thanks/')
else: