Commit 266a8408 authored by Gladys Forte's avatar Gladys Forte

template serializer

parent 7a09a629
......@@ -10,6 +10,38 @@ from app.applicationlayer.cms.utils_cr import (get_account_details,
class ChangeRequestTemplateApproversSerializer(
serializers.ModelSerializer
):
def to_representation(self, instance):
ret = super().to_representation(instance)
try:
user = instance.user
user_details = get_account_details(user.code)
name = user_details.values_list('name', flat=True)[0]
email = user_details.values_list('email', flat=True)[0]
contact_no = user_details.values_list('contact_no', flat=True)[0]
dept_code = user_details.values_list('department', flat=True)[0]
department_details = get_dept_details(dept_code)
department = department_details.values_list('name', flat=True)[0]
comp_code = department_details.values_list('company', flat=True)[0]
company_details = get_companies_details(comp_code)
company = company_details.values_list('name', flat=True)[0]
ret['company'] = company
ret['department'] = department
ret['name'] = name
ret['email'] = email
ret['contact_no'] = contact_no
return ret
except Exception as e:
ret['company'] = "none"
ret['department'] = "none"
ret['name'] = "none"
ret['email'] = "none"
ret['contact_no'] = "none"
return ret
class Meta:
model = models.ChangeRequestTemplateApprovers
fields = '__all__'
......@@ -19,6 +51,38 @@ class ChangeRequestTemplateApproversSerializer(
class ChangeRequestTemplateStakeHoldersSerializer(
serializers.ModelSerializer
):
def to_representation(self, instance):
ret = super().to_representation(instance)
try:
user = instance.user
user_details = get_account_details(user.code)
name = user_details.values_list('name', flat=True)[0]
email = user_details.values_list('email', flat=True)[0]
contact_no = user_details.values_list('contact_no', flat=True)[0]
dept_code = user_details.values_list('department', flat=True)[0]
department_details = get_dept_details(dept_code)
department = department_details.values_list('name', flat=True)[0]
comp_code = department_details.values_list('company', flat=True)[0]
company_details = get_companies_details(comp_code)
company = company_details.values_list('name', flat=True)[0]
ret['company'] = company
ret['department'] = department
ret['name'] = name
ret['email'] = email
ret['contact_no'] = contact_no
return ret
except Exception as e:
ret['company'] = "none"
ret['department'] = "none"
ret['name'] = "none"
ret['email'] = "none"
ret['contact_no'] = "none"
return ret
class Meta:
model = models.ChangeRequestTemplateStakeHolders
fields = '__all__'
......
......@@ -328,11 +328,6 @@ class ChangeRequestTemplatePost(APIView):
'requested_to_user': template_header['requested_to_user']
}
tmp_approvers = template_header['tmp_approvers']
tmp_stakes = template_header['tmp_stakes']
tmp_attachments = template_header['tmp_attachments']
tmp_details = template_header['tmp_details']
sp1 = transaction.savepoint() # nothing will save to db
serializer = serializers.ChangeRequestTemplatesSerializer(
......@@ -344,6 +339,7 @@ class ChangeRequestTemplatePost(APIView):
tmp_id = serializer.data['template_no']
# create template approvers
tmp_approvers = template_header['tmp_approvers']
for tmp_approver in tmp_approvers:
tmp_approver['template_no'] = tmp_id
......@@ -356,40 +352,46 @@ class ChangeRequestTemplatePost(APIView):
serializerApprover.save()
# create template stakes
if template_header['tmp_stakes']:
tmp_stakes = template_header['tmp_stakes']
for tmp_stake in tmp_stakes:
tmp_stake['template_no'] = tmp_id
data_list_stake.append(tmp_stake)
for tmp_stake in tmp_stakes:
tmp_stake['template_no'] = tmp_id
data_list_stake.append(tmp_stake)
serializerStake = serializers.ChangeRequestTemplateStakeHoldersSerializer(
data=data_list_stake, many=True)
serializerStake = serializers.ChangeRequestTemplateStakeHoldersSerializer(
data=data_list_stake, many=True)
if serializerStake.is_valid(raise_exception=True):
serializerStake.save()
if serializerStake.is_valid(raise_exception=True):
serializerStake.save()
# create template attachments
if template_header['tmp_attachments']:
tmp_attachments = template_header['tmp_attachments']
for tmp_attachment in tmp_attachments:
tmp_attachment['template_no'] = tmp_id
data_list_attach.append(tmp_attachment)
serializerAttach = serializers.ChangeRequestTemplateAttachmentsSerializer(
data=data_list_attach, many=True)
for tmp_attachment in tmp_attachments:
tmp_attachment['template_no'] = tmp_id
data_list_attach.append(tmp_attachment)
if serializerAttach.is_valid(raise_exception=True):
serializerAttach.save()
serializerAttach = serializers.ChangeRequestTemplateAttachmentsSerializer(
data=data_list_attach, many=True)
if serializerAttach.is_valid(raise_exception=True):
serializerAttach.save()
# create template details
for tmp_detail in tmp_details:
tmp_detail['template_no'] = tmp_id
data_list_detail.append(tmp_detail)
serializerDetail = serializers.ChangeRequestTemplateDetailsSerializer(
data=data_list_detail, many=True)
if serializerDetail.is_valid(raise_exception=True):
serializerDetail.save()
if template_header['tmp_details']:
tmp_details = template_header['tmp_details']
for tmp_detail in tmp_details:
tmp_detail['template_no'] = tmp_id
data_list_detail.append(tmp_detail)
serializerDetail = serializers.ChangeRequestTemplateDetailsSerializer(
data=data_list_detail, many=True)
if serializerDetail.is_valid(raise_exception=True):
serializerDetail.save()
message = {
'code': 201,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment