Browse Source

Merge remote-tracking branch 'refs/remotes/Gimli/data_migrations' into data_migrations

export_seznamu_prednasek
Pavel "LEdoian" Turinsky 4 years ago
parent
commit
523a3ef9fb
  1. 27
      seminar/forms.py
  2. 2
      seminar/templates/seminar/profil/edit.html
  3. 16
      seminar/views/views_all.py

27
seminar/forms.py

@ -142,28 +142,6 @@ class PrihlaskaForm(forms.Form):
elif data.get('skola_adresa')=='': elif data.get('skola_adresa')=='':
self.add_error('skola_adresa',forms.ValidationError('Je nutné vyplnit adresu školy')) self.add_error('skola_adresa',forms.ValidationError('Je nutné vyplnit adresu školy'))
# Editační formulář bez řešitele.
class ProfileEditFormPoMaturite(forms.Form):
username = forms.CharField(label='Přihlašovací jméno',
max_length=256,
required=True)
jmeno = forms.CharField(label='Jméno', max_length=256, required=True)
prijmeni = forms.CharField(label='Příjmení', max_length=256, required=True)
pohlavi_muz = forms.ChoiceField(label='Pohlaví',
choices = ((True,'muž'),(False,'žena')), required=True)
email = forms.EmailField(label='E-mail',max_length=256, required=True)
telefon = forms.CharField(widget=TelInput(),label='Telefon',max_length=256, required=False)
datum_narozeni = forms.DateField(widget=DateInput(),label='Datum narození', required=False)
ulice = forms.CharField(label='Ulice', max_length=256, required=False)
mesto = forms.CharField(label='Město', max_length=256, required=False)
psc = forms.CharField(label='PSČ', max_length=32, required=False)
stat = forms.ChoiceField(label='Stát',
choices = (('CZ', 'Česká Republika'),
('SK', 'Slovenská Republika'),
('other', 'Jiné')),
required=False)
stat_text = forms.CharField(label='Stát', max_length=256, required=False)
class ProfileEditForm(forms.Form): class ProfileEditForm(forms.Form):
username = forms.CharField(label='Přihlašovací jméno', username = forms.CharField(label='Přihlašovací jméno',
@ -255,6 +233,11 @@ class ProfileEditForm(forms.Form):
# elif data.get('skola_adresa')=='': # elif data.get('skola_adresa')=='':
# self.add_error('skola_adresa',forms.ValidationError('Je nutné vyplnit adresu školy')) # self.add_error('skola_adresa',forms.ValidationError('Je nutné vyplnit adresu školy'))
class PoMaturiteProfileEditForm(ProfileEditForm):
rok_maturity = forms.IntegerField(
label='Rok maturity',
required=True)
class VlozReseniForm(forms.Form): class VlozReseniForm(forms.Form):
#FIXME jen podproblémy daného problému #FIXME jen podproblémy daného problému
problem = forms.ModelChoiceField(label='Problém',queryset=m.Problem.objects.all()) problem = forms.ModelChoiceField(label='Problém',queryset=m.Problem.objects.all())

2
seminar/templates/seminar/profil/edit.html

@ -61,7 +61,6 @@
{% include "seminar/profil/prihlaska_field.html" with field=form.stat_text id="id_li_stat_text"%} {% include "seminar/profil/prihlaska_field.html" with field=form.stat_text id="id_li_stat_text"%}
</table> </table>
{% if not po_maturite %} {# Vysloužilým účastníkům skrýt editaci školy apod. #}
<hr> <hr>
<h4> <h4>
@ -96,7 +95,6 @@
</table> </table>
<hr> <hr>
{% endif %}
<input type="submit" value="Změnit"> <input type="submit" value="Změnit">
</form> </form>

16
seminar/views/views_all.py

@ -26,7 +26,7 @@ import seminar.models as m
from seminar.models import Problem, Cislo, Reseni, Nastaveni, Rocnik, Soustredeni, Organizator, Resitel, Novinky, Soustredeni_Ucastnici, Pohadka, Tema, Clanek, Osoba, Skola # Tohle je stare a chceme se toho zbavit. Pouzivejte s.ToCoChci from seminar.models import Problem, Cislo, Reseni, Nastaveni, Rocnik, Soustredeni, Organizator, Resitel, Novinky, Soustredeni_Ucastnici, Pohadka, Tema, Clanek, Osoba, Skola # Tohle je stare a chceme se toho zbavit. Pouzivejte s.ToCoChci
#from .models import VysledkyZaCislo, VysledkyKCisluZaRocnik, VysledkyKCisluOdjakziva #from .models import VysledkyZaCislo, VysledkyKCisluZaRocnik, VysledkyKCisluOdjakziva
from seminar import utils, treelib from seminar import utils, treelib
from seminar.forms import PrihlaskaForm, LoginForm, ProfileEditForm, ProfileEditFormPoMaturite from seminar.forms import PrihlaskaForm, LoginForm, ProfileEditForm, PoMaturiteProfileEditForm
import seminar.forms as f import seminar.forms as f
import seminar.templatetags.treenodes as tnltt import seminar.templatetags.treenodes as tnltt
import seminar.views.views_rest as vr import seminar.views.views_rest as vr
@ -1095,21 +1095,21 @@ def resitelEditView(request):
user_edit = osoba_edit.user user_edit = osoba_edit.user
## Vytvoření slovníku, kterým předvyplním formulář ## Vytvoření slovníku, kterým předvyplním formulář
prefill_1=model_to_dict(user_edit) prefill_1=model_to_dict(user_edit)
if resitel_edit and resitel_edit.rok_maturity >= date.today().year: if resitel_edit:
prefill_2=model_to_dict(resitel_edit) prefill_2=model_to_dict(resitel_edit)
prefill_1.update(prefill_2) prefill_1.update(prefill_2)
prefill_3=model_to_dict(osoba_edit) prefill_3=model_to_dict(osoba_edit)
prefill_1.update(prefill_3) prefill_1.update(prefill_3)
if 'datum_narozeni' in prefill_1: if 'datum_narozeni' in prefill_1:
prefill_1['datum_narozeni'] = str(prefill_1['datum_narozeni']) prefill_1['datum_narozeni'] = str(prefill_1['datum_narozeni'])
if resitel_edit and resitel_edit.rok_maturity < date.today().year: if 'rok_maturity' not in prefill_1 or prefill_1['rok_maturity'] < date.today().year:
form = ProfileEditFormPoMaturite(initial=prefill_1) form = PoMaturiteProfileEditForm(initial=prefill_1)
else: else:
form = ProfileEditForm(initial=prefill_1) form = ProfileEditForm(initial=prefill_1)
## Změna údajů a jejich uložení ## Změna údajů a jejich uložení
if request.method == 'POST': if request.method == 'POST':
if resitel_edit and resitel_edit.rok_maturity < date.today().year: if 'rok_maturity' not in prefill_1 or prefill_1['rok_maturity'] < date.today().year:
form = ProfileEditFormPoMaturite(request.POST) form = PoMaturiteProfileEditForm(request.POST)
else: else:
form = ProfileEditForm(request.POST) form = ProfileEditForm(request.POST)
if form.is_valid(): if form.is_valid():
@ -1133,7 +1133,7 @@ def resitelEditView(request):
## Neznámá země ## Neznámá země
msg = "Unknown country {}".format(fcd['stat_text']) msg = "Unknown country {}".format(fcd['stat_text'])
if resitel_edit and resitel_edit.rok_maturity >= date.today().year: if resitel_edit:
## Změny v řešiteli ## Změny v řešiteli
resitel_edit.skola = fcd['skola'] resitel_edit.skola = fcd['skola']
resitel_edit.rok_maturity = fcd['rok_maturity'] resitel_edit.rok_maturity = fcd['rok_maturity']
@ -1149,7 +1149,7 @@ def resitelEditView(request):
return formularOKView(request) return formularOKView(request)
else: else:
## Stránka před odeslaním formuláře = předvyplněný formulář ## Stránka před odeslaním formuláře = předvyplněný formulář
return render(request, 'seminar/profil/edit.html', {'form': form, 'po_maturite': resitel_edit and resitel_edit.rok_maturity < date.today().year}) return render(request, 'seminar/profil/edit.html', {'form': form})
def prihlaskaView(request): def prihlaskaView(request):
generic_logger = logging.getLogger('seminar.prihlaska') generic_logger = logging.getLogger('seminar.prihlaska')

Loading…
Cancel
Save