referral code

This commit is contained in:
jain
2023-07-13 17:31:05 +05:30
parent a16fecb1c9
commit 52a0f4b590
5 changed files with 29 additions and 42 deletions

View File

@ -8,7 +8,7 @@ from django.utils import timezone
from rest_framework_simplejwt.tokens import RefreshToken
"""Import django app"""
from account.utils import send_otp_email
from account.utils import send_otp_email, generate_alphanumeric_code
from junior.models import Junior, JuniorPoints
from guardian.tasks import generate_otp
from base.messages import ERROR_CODE, SUCCESS_CODE
@ -76,11 +76,7 @@ class CreateJuniorSerializer(serializers.ModelSerializer):
user.last_name = self.context.get('last_name')
user.save()
"""Create junior data"""
junior, created = Junior.objects.get_or_create(auth=self.context['user'])
if created:
"""Create referral code and junior code"""
junior.referral_code = ''.join([str(random.randrange(9)) for _ in range(4)])
junior.junior_code = ''.join([str(random.randrange(9)) for _ in range(4)])
junior = Junior.objects.filter(auth=self.context['user']).last()
if junior:
"""update details according to the data get from request"""
junior.gender = validated_data.get('gender',junior.gender)
@ -134,8 +130,8 @@ class JuniorDetailSerializer(serializers.ModelSerializer):
"""Meta info"""
model = Junior
fields = ['id', 'email', 'first_name', 'last_name', 'country_code', 'phone', 'gender', 'dob',
'guardian_code', 'is_invited', 'referral_code','is_active', 'is_complete_profile', 'created_at', 'image',
'updated_at']
'guardian_code', 'is_invited', 'referral_code','is_active', 'is_complete_profile', 'created_at',
'image', 'updated_at']
class JuniorDetailListSerializer(serializers.ModelSerializer):
"""junior serializer"""
@ -279,8 +275,8 @@ class AddJuniorSerializer(serializers.ModelSerializer):
junior_data = Junior.objects.create(auth=user_data, gender=validated_data.get('gender'),
dob=validated_data.get('dob'), is_invited=True,
relationship=validated_data.get('relationship'),
junior_code=''.join([str(random.randrange(9)) for _ in range(4)]),
referral_code=''.join([str(random.randrange(9)) for _ in range(4)]),
junior_code=generate_alphanumeric_code(6),
referral_code=generate_alphanumeric_code(6),
referral_code_used=guardian_data.referral_code)
"""Generate otp"""
otp_value = generate_otp()