![ledoian@matfyz.cz](/assets/img/avatar_default.png)
1 changed files with 67 additions and 0 deletions
@ -0,0 +1,67 @@ |
|||
""" |
|||
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. |
|||
""" |
Loading…
Reference in new issue