|
|
|
@ -2,13 +2,19 @@ from rest_framework import serializers |
|
|
|
from .models import Club, LiveMatch, TeamScore, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamRegistration, PlayerRegistration |
|
|
|
from .models import Club, LiveMatch, TeamScore, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamRegistration, PlayerRegistration |
|
|
|
from django.contrib.auth import password_validation |
|
|
|
from django.contrib.auth import password_validation |
|
|
|
from django.utils.translation import gettext_lazy as _ |
|
|
|
from django.utils.translation import gettext_lazy as _ |
|
|
|
|
|
|
|
# email |
|
|
|
|
|
|
|
from .tokens import account_activation_token |
|
|
|
|
|
|
|
from django.template.loader import render_to_string |
|
|
|
|
|
|
|
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode |
|
|
|
|
|
|
|
from django.utils.encoding import force_bytes |
|
|
|
|
|
|
|
from django.core.mail import EmailMessage |
|
|
|
|
|
|
|
from django.contrib.sites.shortcuts import get_current_site |
|
|
|
|
|
|
|
|
|
|
|
class UserSerializer(serializers.ModelSerializer): |
|
|
|
class UserSerializer(serializers.ModelSerializer): |
|
|
|
|
|
|
|
|
|
|
|
password = serializers.CharField(write_only=True) |
|
|
|
password = serializers.CharField(write_only=True) |
|
|
|
|
|
|
|
|
|
|
|
def create(self, validated_data): |
|
|
|
def create(self, validated_data): |
|
|
|
# Customize user creation logic here |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print(validated_data) |
|
|
|
print(validated_data) |
|
|
|
umpire_code = None |
|
|
|
umpire_code = None |
|
|
|
@ -37,6 +43,7 @@ class UserSerializer(serializers.ModelSerializer): |
|
|
|
country=country, |
|
|
|
country=country, |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.send_email(self.context['request'], user) |
|
|
|
# RegistrationProfile.objects.filter(user=user).send_activation_email() |
|
|
|
# RegistrationProfile.objects.filter(user=user).send_activation_email() |
|
|
|
|
|
|
|
|
|
|
|
return user |
|
|
|
return user |
|
|
|
@ -48,6 +55,19 @@ class UserSerializer(serializers.ModelSerializer): |
|
|
|
# ) |
|
|
|
# ) |
|
|
|
# return user |
|
|
|
# return user |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def send_email(self, request, user): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
current_site = get_current_site(request) |
|
|
|
|
|
|
|
mail_subject = 'Activation link has been sent to your email id' |
|
|
|
|
|
|
|
message = render_to_string('tournaments/acc_active_email.html', { |
|
|
|
|
|
|
|
'user': user, |
|
|
|
|
|
|
|
'domain': current_site.domain, |
|
|
|
|
|
|
|
'uid':urlsafe_base64_encode(force_bytes(user.pk)), |
|
|
|
|
|
|
|
'token':account_activation_token.make_token(user), |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
email = EmailMessage(mail_subject, message, to=[user.email]) |
|
|
|
|
|
|
|
email.send() |
|
|
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
class Meta: |
|
|
|
club_id = serializers.PrimaryKeyRelatedField(queryset=Club.objects.all()) |
|
|
|
club_id = serializers.PrimaryKeyRelatedField(queryset=Club.objects.all()) |
|
|
|
model = CustomUser |
|
|
|
model = CustomUser |
|
|
|
|