mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-11-27 09:04:54 +00:00
task assign to multiple junior
This commit is contained in:
@ -218,7 +218,7 @@ class TaskSerializer(serializers.ModelSerializer):
|
|||||||
class Meta(object):
|
class Meta(object):
|
||||||
"""Meta info"""
|
"""Meta info"""
|
||||||
model = JuniorTask
|
model = JuniorTask
|
||||||
fields = ['id', 'task_name','task_description','points', 'due_date', 'junior', 'default_image']
|
fields = ['id', 'task_name','task_description','points', 'due_date','default_image']
|
||||||
|
|
||||||
def validate_due_date(self, value):
|
def validate_due_date(self, value):
|
||||||
"""validation on due date"""
|
"""validation on due date"""
|
||||||
@ -229,11 +229,27 @@ class TaskSerializer(serializers.ModelSerializer):
|
|||||||
return value
|
return value
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
"""create default task image data"""
|
"""create default task image data"""
|
||||||
validated_data['guardian'] = Guardian.objects.filter(user=self.context['user']).last()
|
guardian = Guardian.objects.filter(user=self.context['user']).last()
|
||||||
# update image of the task
|
# update image of the task
|
||||||
images = self.context['image']
|
images = self.context['image']
|
||||||
validated_data['default_image'] = images
|
junior_ids = self.context['junior_data']
|
||||||
instance = JuniorTask.objects.create(**validated_data)
|
print("junior_ids==>", junior_ids, '==>', type(junior_ids))
|
||||||
|
print()
|
||||||
|
junior_data = junior_ids[0].split(',')
|
||||||
|
print("junior_data[0==>", junior_data, '==>', type(junior_data))
|
||||||
|
tasks_created = []
|
||||||
|
|
||||||
|
for junior_id in junior_data:
|
||||||
|
print("junior_id==>",junior_id,'==>',type(junior_id))
|
||||||
|
task_data = validated_data.copy()
|
||||||
|
task_data['guardian'] = guardian
|
||||||
|
task_data['default_image'] = images
|
||||||
|
task_data['junior'] = Junior.objects.filter(id=junior_id).last()
|
||||||
|
print("task_data===>", task_data, '===>', type(task_data))
|
||||||
|
print("task_data['junior']===>", task_data['junior'], '===>', type(task_data['junior']))
|
||||||
|
instance = JuniorTask.objects.create(**task_data)
|
||||||
|
tasks_created.append(instance)
|
||||||
|
print("tasks_created==>", tasks_created, '==>', type(tasks_created))
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
class GuardianDetailSerializer(serializers.ModelSerializer):
|
class GuardianDetailSerializer(serializers.ModelSerializer):
|
||||||
|
|||||||
@ -177,8 +177,14 @@ class CreateTaskAPIView(viewsets.ModelViewSet):
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
image = request.data['default_image']
|
image = request.data['default_image']
|
||||||
junior = request.data['junior']
|
juniors = request.data['junior'].split(',')
|
||||||
|
print("juniors===>", juniors, '===>', type(juniors))
|
||||||
|
print()
|
||||||
|
|
||||||
|
for junior in juniors:
|
||||||
|
print("junior===>", junior, '===>', type(junior))
|
||||||
junior_id = Junior.objects.filter(id=junior).last()
|
junior_id = Junior.objects.filter(id=junior).last()
|
||||||
|
print("junior_id===>", junior_id, '===>', type(junior_id))
|
||||||
if junior_id:
|
if junior_id:
|
||||||
guardian_data = Guardian.objects.filter(user=request.user).last()
|
guardian_data = Guardian.objects.filter(user=request.user).last()
|
||||||
index = junior_id.guardian_code.index(guardian_data.guardian_code)
|
index = junior_id.guardian_code.index(guardian_data.guardian_code)
|
||||||
@ -191,6 +197,7 @@ class CreateTaskAPIView(viewsets.ModelViewSet):
|
|||||||
if not junior.isnumeric():
|
if not junior.isnumeric():
|
||||||
"""junior value must be integer"""
|
"""junior value must be integer"""
|
||||||
return custom_error_response(ERROR_CODE['2047'], response_status=status.HTTP_400_BAD_REQUEST)
|
return custom_error_response(ERROR_CODE['2047'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
print("request.data===>", request.data, '===>', type(request.data))
|
||||||
data = request.data
|
data = request.data
|
||||||
if 'https' in str(image):
|
if 'https' in str(image):
|
||||||
image_data = image
|
image_data = image
|
||||||
@ -201,8 +208,14 @@ class CreateTaskAPIView(viewsets.ModelViewSet):
|
|||||||
image_url = upload_image_to_alibaba(image, filename)
|
image_url = upload_image_to_alibaba(image, filename)
|
||||||
image_data = image_url
|
image_data = image_url
|
||||||
data.pop('default_image')
|
data.pop('default_image')
|
||||||
|
print("data===>",data,'===>',type(data))
|
||||||
|
junior_data = data.pop('junior')
|
||||||
|
print()
|
||||||
|
print("data===>", data, '===>', type(data))
|
||||||
|
print("junior_data===>", junior_data, '===>', type(junior_data))
|
||||||
# use TaskSerializer serializer
|
# use TaskSerializer serializer
|
||||||
serializer = TaskSerializer(context={"user":request.user, "image":image_data}, data=data)
|
serializer = TaskSerializer(context={"user":request.user, "image":image_data,
|
||||||
|
"junior_data":junior_data}, data=data)
|
||||||
if serializer.is_valid():
|
if serializer.is_valid():
|
||||||
# save serializer
|
# save serializer
|
||||||
task = serializer.save()
|
task = serializer.save()
|
||||||
|
|||||||
@ -181,32 +181,32 @@ AUTH_PASSWORD_VALIDATORS = [
|
|||||||
# database query logs settings
|
# database query logs settings
|
||||||
# Allows us to check db hits
|
# Allows us to check db hits
|
||||||
# useful to optimize db query and hit
|
# useful to optimize db query and hit
|
||||||
LOGGING = {
|
# LOGGING = {
|
||||||
"version": 1,
|
# "version": 1,
|
||||||
"filters": {
|
# "filters": {
|
||||||
"require_debug_true": {
|
# "require_debug_true": {
|
||||||
"()": "django.utils.log.RequireDebugTrue"
|
# "()": "django.utils.log.RequireDebugTrue"
|
||||||
}
|
# }
|
||||||
},
|
# },
|
||||||
"handlers": {
|
# "handlers": {
|
||||||
"console": {
|
# "console": {
|
||||||
"level": "DEBUG",
|
# "level": "DEBUG",
|
||||||
"filters": [
|
# "filters": [
|
||||||
"require_debug_true"
|
# "require_debug_true"
|
||||||
],
|
# ],
|
||||||
"class": "logging.StreamHandler"
|
# "class": "logging.StreamHandler"
|
||||||
}
|
# }
|
||||||
},
|
# },
|
||||||
# database logger
|
# # database logger
|
||||||
"loggers": {
|
# "loggers": {
|
||||||
"django.db.backends": {
|
# "django.db.backends": {
|
||||||
"level": "DEBUG",
|
# "level": "DEBUG",
|
||||||
"handlers": [
|
# "handlers": [
|
||||||
"console"
|
# "console"
|
||||||
]
|
# ]
|
||||||
}
|
# }
|
||||||
}
|
# }
|
||||||
}
|
# }
|
||||||
|
|
||||||
# Internationalization
|
# Internationalization
|
||||||
# https://docs.djangoproject.com/en/3.0/topics/i18n/
|
# https://docs.djangoproject.com/en/3.0/topics/i18n/
|
||||||
|
|||||||
Reference in New Issue
Block a user