Pavel "LEdoian" Turinsky
4 years ago
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