""" Registrace uživatelů k existujícím osobám V tomto souboru bude asi všechno, co je relevantní (kromě template), protože to je dostatečně malá a jednorázová věc. Proto všechno kromě view začíná podtržítkem, aby se to nenatáhlo jako součást seminar.views """ #TODO: Logování (tohle logovat chce skoro určitě) from django.forms import Form from django.views.generic.edit import FormView import hmac from django.conf.settings import AUTH_USER_MODEL, SECRET_KEY from seminar.models import Osoba class DodatecnaRegistraceUzivateleView(FormView): form = _RegistraceUzivateleForm template_name = ... success_url_pattern = ... def form_valid(self, form): pass class KontrolaUdajuASouhlasyView(FormView): ... class _RegistraceUzivateleForm(Form): #model = AUTH_USER_MODEL # Zkopírováno z přihlášky :-) 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=True, widget=forms.PasswordInput()) password_check = forms.CharField( label='Ověření hesla', max_length=256, required=True, widget=forms.PasswordInput()) # Dodatečné fieldy + token… token = ... verifikace_TODO = ... # TODO: Co verifikovat # TODO: clean_username, verifikace … # Pozor, tokeny existují dva: jeden do URL do mailu, druhý do hidden položky ve formuláři. def _gen_token(usecase: str, data: dict[str, object]): ... def _verify_token(usecase: str, data: dict[str, object]): ... def _invite(osoba: Osoba): """ Pošle dané osobě e-mail s odkazem na registraci. """