Kostra formuláře na dodatečné vyrobení uživatele
This commit is contained in:
parent
97de205ac1
commit
a0edc1e0a1
1 changed files with 67 additions and 0 deletions
67
seminar/views/registrace.py
Normal file
67
seminar/views/registrace.py
Normal file
|
@ -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 a new issue