mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-15 18:07:02 +00:00
jira-34 referral code validation API
This commit is contained in:
@ -24,7 +24,7 @@ from junior.serializers import JuniorDetailSerializer
|
||||
from base.messages import ERROR_CODE, SUCCESS_CODE
|
||||
from base.constants import NUMBER, JUN, ZOD, GRD
|
||||
from junior.models import Junior, JuniorPoints
|
||||
from .utils import real_time, convert_timedelta_into_datetime
|
||||
from .utils import real_time, convert_timedelta_into_datetime, update_referral_points
|
||||
|
||||
|
||||
|
||||
@ -141,7 +141,6 @@ class CreateGuardianSerializer(serializers.ModelSerializer):
|
||||
guardian.country_code = validated_data.get('country_code', guardian.country_code)
|
||||
guardian.passcode = validated_data.get('passcode', guardian.passcode)
|
||||
guardian.country_name = validated_data.get('country_name', guardian.country_name)
|
||||
guardian.referral_code_used = validated_data.get('referral_code_used', guardian.referral_code_used)
|
||||
guardian.image = validated_data.get('image', guardian.image)
|
||||
"""Complete profile of the junior if below all data are filled"""
|
||||
complete_profile_field = all([guardian.gender, guardian.country_name,
|
||||
@ -150,6 +149,9 @@ class CreateGuardianSerializer(serializers.ModelSerializer):
|
||||
guardian.is_complete_profile = False
|
||||
if complete_profile_field:
|
||||
guardian.is_complete_profile = True
|
||||
referral_code_used = validated_data.get('referral_code_used')
|
||||
update_referral_points(guardian.referral_code, referral_code_used)
|
||||
guardian.referral_code_used = validated_data.get('referral_code_used', guardian.referral_code_used)
|
||||
guardian.save()
|
||||
return guardian
|
||||
|
||||
@ -235,7 +237,7 @@ class TopJuniorSerializer(serializers.ModelSerializer):
|
||||
class Meta(object):
|
||||
"""Meta info"""
|
||||
model = JuniorPoints
|
||||
fields = ['id', 'junior', 'total_task_points', 'position', 'created_at', 'updated_at']
|
||||
fields = ['id', 'junior', 'total_points', 'position', 'created_at', 'updated_at']
|
||||
|
||||
def to_representation(self, instance):
|
||||
"""Convert instance to representation"""
|
||||
@ -322,7 +324,7 @@ class ApproveTaskSerializer(serializers.ModelSerializer):
|
||||
instance.task_status = str(NUMBER['five'])
|
||||
instance.is_approved = True
|
||||
# update total task point
|
||||
junior_data.total_task_points = junior_data.total_task_points + instance.points
|
||||
junior_data.total_points = junior_data.total_points + instance.points
|
||||
# update complete time of task
|
||||
instance.completed_on = real_time()
|
||||
else:
|
||||
@ -330,7 +332,7 @@ class ApproveTaskSerializer(serializers.ModelSerializer):
|
||||
instance.task_status = str(NUMBER['three'])
|
||||
instance.is_approved = False
|
||||
# update total task point
|
||||
junior_data.total_task_points = junior_data.total_task_points - instance.points
|
||||
junior_data.total_points = junior_data.total_points - instance.points
|
||||
# update reject time of task
|
||||
instance.rejected_on = real_time()
|
||||
instance.save()
|
||||
|
Reference in New Issue
Block a user