Commit fd5ab454 authored by Gladys Forte's avatar Gladys Forte

delete form

parent 156b9f9f
......@@ -44,20 +44,8 @@ class ChangeRequestFormHeaderSerializer(
approver = 'Yes'
else:
approver = 'No'
ret['action'] = approver
requested_to_company = {
"id": instance.requested_to_company.id,
"name": instance.requested_to_company.name,
"contact": instance.requested_to_company.contact_details,
"code": instance.requested_to_company.code
}
requested_to_department = {
"id": instance.requested_to_department.id,
"name": instance.requested_to_department.name,
"code": instance.requested_to_department.code
}
ret['action'] = approver
requested_to_user = {
"id": instance.requested_to_user.id,
......@@ -77,17 +65,11 @@ class ChangeRequestFormHeaderSerializer(
"contact_no": instance.requested_by_user.contact_no
}
requested_by_department = {
"id": instance.requested_by_department.id,
"name": instance.requested_by_department.name,
"code": instance.requested_by_department.code
}
ret['requested_to_company'] = requested_to_company
ret['requested_to_department'] = requested_to_department
ret['requested_to_company'] = model_to_dict(instance.requested_to_company)
ret['requested_to_department'] = model_to_dict(instance.requested_to_department)
ret['requested_to_user'] = requested_to_user
ret['requested_by_user'] = requested_by_user
ret['requested_by_department'] = requested_by_department
ret['requested_by_department'] = model_to_dict(instance.requested_by_department)
return ret
except Exception as e:
......
......@@ -26,7 +26,8 @@ from app.applicationlayer.cms.utils_cr import (number_generator,
send_mail_vendor,
get_max_batchno,
generate_template_id,
crhistory_create_save)
crhistory_create_save,
entity_log_bulk)
from app.entities import enums
from django.forms.models import model_to_dict
......@@ -367,6 +368,83 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
serializer = self.get_serializer(instance)
return Response(serializer.data)
@transaction.atomic()
def destroy(self, request, *args, **kwargs):
try:
form_code = self.kwargs['form_code']
existing_transaction = models.ChangeRequestHistory.objects.filter(
form_code=form_code
)
if not existing_transaction.count() > 0:
enum_approver = enums.LogEntitiesEnum.ChangeRequestFormApprovers.value
enum_stake = enums.LogEntitiesEnum.ChangeRequestFormStakeHolders.value
enum_attach = enums.LogEntitiesEnum.ChangeRequestFormAttachments.value
enum_detail = enums.LogEntitiesEnum.ChangeRequestFormDetails.value
enum_header = enums.LogEntitiesEnum.ChangeRequestFormHeader.value
approver = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code
)
if approver.count() > 0:
entity_log_bulk(
approver, enum_approver,
models.ChangeRequestFormApprovers
)
stake = models.ChangeRequestFormStakeHolders.objects.filter(
form_code=form_code
)
if stake.count() > 0:
entity_log_bulk(
stake, enum_stake,
models.ChangeRequestFormStakeHolders
)
attachment = models.ChangeRequestFormAttachments.objects.filter(
form_code=form_code
)
if attachment.count() > 0:
entity_log_bulk(
attachment, enum_attach,
models.ChangeRequestFormAttachments
)
details = models.ChangeRequestFormDetails.objects.filter(
form_code=form_code
)
if details.count() > 0:
entity_log_bulk(
details, enum_detail,
models.ChangeRequestFormDetails
)
header = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code
)
if header.count() > 0:
entity_log_bulk(
header, enum_header,
models.ChangeRequestFormHeader
)
return Response({"message": "Deleted"},
status=status.HTTP_200_OK)
else:
return Response(
{"message": "Change request cannot be deleted due to previous transaction/s"},
status=status.HTTP_400_BAD_REQUEST)
except Exception as e:
return Response(e,
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
@action(
methods=['PATCH'], detail=True,
url_path='re_route', url_name='re_route'
......
......@@ -32,7 +32,6 @@ class ChangeRequestTemplatesSerializer(
def to_representation(self, instance):
ret = super().to_representation(instance)
try:
requested_to_user_object = {
"id": instance.requested_to_user.id,
"name": instance.requested_to_user.name,
......@@ -54,6 +53,10 @@ class ChangeRequestTemplatesSerializer(
return ret
except Exception as e:
ret['requested_to_company_object'] = "none"
ret['requested_to_department_object'] = "none"
ret['requested_to_user_object'] = "none"
ret['company'] = "none"
ret['department'] = "none"
ret['point_of_contact'] = "none"
......@@ -83,20 +86,6 @@ class ChangeRequestTemplatesSerializerList(
def to_representation(self, instance):
ret = super().to_representation(instance)
try:
requested_to_user_object = {
"id": instance.requested_to_user.id,
"name": instance.requested_to_user.name,
"username": instance.requested_to_user.username,
"code": instance.requested_to_user.code,
"email": instance.requested_to_user.email,
"contact_no": instance.requested_to_user.contact_no
}
ret['requested_to_company_object'] = model_to_dict(instance.requested_to_company)
ret['requested_to_department_object'] = model_to_dict(instance.requested_to_department)
ret['requested_to_user_object'] = requested_to_user_object
ret['company'] = instance.requested_to_company.name
ret['department'] = instance.requested_to_department.name
ret['point_of_contact'] = instance.requested_to_user.name
......
......@@ -67,6 +67,12 @@ class LogEntitiesEnum(Enum):
ChangeRequestTemplateAttachments = "ChangeRequestTemplateAttachments"
ChangeRequestTemplateDetails = "ChangeRequestTemplateDetails"
ChangeRequestFormHeader = "ChangeRequestFormHeader"
ChangeRequestFormApprovers = "ChangeRequestFormApprovers"
ChangeRequestFormStakeHolders = "ChangeRequestFormStakeHolders"
ChangeRequestFormAttachments = "ChangeRequestFormAttachments"
ChangeRequestFormDetails = "ChangeRequestFormDetails"
# BRAND = "Brand"
# CATEGORY = "Category"
# CURRENCY = "Currency"
......
This diff is collapsed.
This diff is collapsed.
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