from django.contrib.auth.tokens import PasswordResetTokenGenerator
from django.contrib.sites.shortcuts import get_current_site
from django.urls import reverse_lazy
from django.utils.encoding import force_bytes
from django.utils.http import urlsafe_base64_encode


def posli_reset_hesla(u, request=None):
	uid = urlsafe_base64_encode(force_bytes(u.pk))
	token = PasswordResetTokenGenerator().make_token(u)
	url = "https://%s%s" % (
		str(get_current_site(request)),
		str(reverse_lazy("reset_password_confirm", args=[uid, token]))
	)

	u.email_user(
		subject="Vítej mezi řešiteli M&M!",
		message="""Milý řešiteli, milá řešitelko,

tvůj e-mail byl právě zaregistrován na mam.matfyz.cz. Heslo si prosím nastav na: %s

Těšíme se na tvé příspěvky do našeho semináře,
Organizátoři M&M

--

Tento e-mail byl vygenerován automaticky, chceš-li nás kontaktovat, napiš nám na adresu mam@matfyz.cz.
""" % url,
		# TODO: templates/autentizace a django/contrib/auth/forms.py říkají, jak na to lépe
		from_email="registrace@mam.mff.cuni.cz",  # FIXME: Chceme to mít radši tady, nebo v nastavení?
	)