validation par email via djoser
Methode maison pour demander le mot de passe ensuite !
This commit is contained in:
parent
23acbba748
commit
542acdadfa
|
|
@ -5,7 +5,7 @@ from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from djoser import utils
|
from djoser import utils
|
||||||
from djoser.conf import settings
|
from djoser.conf import settings
|
||||||
|
from TiBillet.settings import DEBUG
|
||||||
|
|
||||||
|
|
||||||
class ActivationEmail(BaseEmailMessage):
|
class ActivationEmail(BaseEmailMessage):
|
||||||
|
|
@ -21,6 +21,10 @@ class ActivationEmail(BaseEmailMessage):
|
||||||
user = context.get("user")
|
user = context.get("user")
|
||||||
context["site_name"] = self.request.tenant.name
|
context["site_name"] = self.request.tenant.name
|
||||||
context["domain"] = self.request.tenant.domain_url
|
context["domain"] = self.request.tenant.domain_url
|
||||||
|
|
||||||
|
if DEBUG :
|
||||||
|
context["domain"] += ":8002"
|
||||||
|
|
||||||
context["uid"] = utils.encode_uid(user.pk)
|
context["uid"] = utils.encode_uid(user.pk)
|
||||||
context["token"] = default_token_generator.make_token(user)
|
context["token"] = default_token_generator.make_token(user)
|
||||||
context["url"] = settings.ACTIVATION_URL.format(**context)
|
context["url"] = settings.ACTIVATION_URL.format(**context)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
from django.contrib.auth import get_user_model
|
||||||
|
from django.contrib.auth.tokens import PasswordResetTokenGenerator
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
|
|
@ -9,6 +11,8 @@ from djoser.views import UserViewSet
|
||||||
import requests
|
import requests
|
||||||
from django.db import connection
|
from django.db import connection
|
||||||
from TiBillet import settings
|
from TiBillet import settings
|
||||||
|
from djoser import utils
|
||||||
|
User = get_user_model()
|
||||||
|
|
||||||
class activate(APIView):
|
class activate(APIView):
|
||||||
permission_classes = [AllowAny]
|
permission_classes = [AllowAny]
|
||||||
|
|
@ -18,6 +22,15 @@ class activate(APIView):
|
||||||
print(uid)
|
print(uid)
|
||||||
print(token)
|
print(token)
|
||||||
|
|
||||||
|
import ipdb; ipdb.set_trace()
|
||||||
|
user = User.objects.get(pk=utils.decode_uid(uid))
|
||||||
|
|
||||||
|
PR = PasswordResetTokenGenerator()
|
||||||
|
is_token_valid = PR.check_token( user, token )
|
||||||
|
|
||||||
|
if is_token_valid :
|
||||||
|
#TODO POUR DEMAIN JOJO : DEMANDER LE MOT DE PASSE ICI !
|
||||||
|
|
||||||
domain = self.request.tenant.domain_url
|
domain = self.request.tenant.domain_url
|
||||||
protocol = "https"
|
protocol = "https"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -131,8 +131,15 @@ class event(APIView):
|
||||||
|
|
||||||
request.user = user
|
request.user = user
|
||||||
|
|
||||||
if not request.user.is_active:
|
if not request.user.is_active or not request.user.password :
|
||||||
print(f"{request.user} not active")
|
|
||||||
|
print(f"{request.user} not active or no password")
|
||||||
|
# on retire les commande non validé pour éviter les doublons
|
||||||
|
# et on le remet non actif si pas de mot de passe :
|
||||||
|
asupr = Reservation.objects.filter(user_commande=request.user, status=Reservation.MAIL_NON_VALIDEE, event=event)
|
||||||
|
asupr.delete()
|
||||||
|
request.user.is_active = False
|
||||||
|
request.user.save()
|
||||||
|
|
||||||
email_activation = ActivationEmail(request)
|
email_activation = ActivationEmail(request)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue