Commit fd5ab454 authored by Gladys Forte's avatar Gladys Forte

delete form

parent 156b9f9f
...@@ -44,21 +44,9 @@ class ChangeRequestFormHeaderSerializer( ...@@ -44,21 +44,9 @@ class ChangeRequestFormHeaderSerializer(
approver = 'Yes' approver = 'Yes'
else: else:
approver = 'No' 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 = { requested_to_user = {
"id": instance.requested_to_user.id, "id": instance.requested_to_user.id,
"name": instance.requested_to_user.name, "name": instance.requested_to_user.name,
...@@ -77,17 +65,11 @@ class ChangeRequestFormHeaderSerializer( ...@@ -77,17 +65,11 @@ class ChangeRequestFormHeaderSerializer(
"contact_no": instance.requested_by_user.contact_no "contact_no": instance.requested_by_user.contact_no
} }
requested_by_department = { ret['requested_to_company'] = model_to_dict(instance.requested_to_company)
"id": instance.requested_by_department.id, ret['requested_to_department'] = model_to_dict(instance.requested_to_department)
"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_user'] = requested_to_user ret['requested_to_user'] = requested_to_user
ret['requested_by_user'] = requested_by_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 return ret
except Exception as e: except Exception as e:
......
...@@ -26,7 +26,8 @@ from app.applicationlayer.cms.utils_cr import (number_generator, ...@@ -26,7 +26,8 @@ from app.applicationlayer.cms.utils_cr import (number_generator,
send_mail_vendor, send_mail_vendor,
get_max_batchno, get_max_batchno,
generate_template_id, generate_template_id,
crhistory_create_save) crhistory_create_save,
entity_log_bulk)
from app.entities import enums from app.entities import enums
from django.forms.models import model_to_dict from django.forms.models import model_to_dict
...@@ -366,6 +367,83 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -366,6 +367,83 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
instance = self.get_object() instance = self.get_object()
serializer = self.get_serializer(instance) serializer = self.get_serializer(instance)
return Response(serializer.data) 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( @action(
methods=['PATCH'], detail=True, methods=['PATCH'], detail=True,
......
...@@ -32,7 +32,6 @@ class ChangeRequestTemplatesSerializer( ...@@ -32,7 +32,6 @@ class ChangeRequestTemplatesSerializer(
def to_representation(self, instance): def to_representation(self, instance):
ret = super().to_representation(instance) ret = super().to_representation(instance)
try: try:
requested_to_user_object = { requested_to_user_object = {
"id": instance.requested_to_user.id, "id": instance.requested_to_user.id,
"name": instance.requested_to_user.name, "name": instance.requested_to_user.name,
...@@ -53,6 +52,10 @@ class ChangeRequestTemplatesSerializer( ...@@ -53,6 +52,10 @@ class ChangeRequestTemplatesSerializer(
return ret return ret
except Exception as e: 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['company'] = "none"
ret['department'] = "none" ret['department'] = "none"
...@@ -83,20 +86,6 @@ class ChangeRequestTemplatesSerializerList( ...@@ -83,20 +86,6 @@ class ChangeRequestTemplatesSerializerList(
def to_representation(self, instance): def to_representation(self, instance):
ret = super().to_representation(instance) ret = super().to_representation(instance)
try: 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['company'] = instance.requested_to_company.name
ret['department'] = instance.requested_to_department.name ret['department'] = instance.requested_to_department.name
ret['point_of_contact'] = instance.requested_to_user.name ret['point_of_contact'] = instance.requested_to_user.name
......
...@@ -67,6 +67,12 @@ class LogEntitiesEnum(Enum): ...@@ -67,6 +67,12 @@ class LogEntitiesEnum(Enum):
ChangeRequestTemplateAttachments = "ChangeRequestTemplateAttachments" ChangeRequestTemplateAttachments = "ChangeRequestTemplateAttachments"
ChangeRequestTemplateDetails = "ChangeRequestTemplateDetails" ChangeRequestTemplateDetails = "ChangeRequestTemplateDetails"
ChangeRequestFormHeader = "ChangeRequestFormHeader"
ChangeRequestFormApprovers = "ChangeRequestFormApprovers"
ChangeRequestFormStakeHolders = "ChangeRequestFormStakeHolders"
ChangeRequestFormAttachments = "ChangeRequestFormAttachments"
ChangeRequestFormDetails = "ChangeRequestFormDetails"
# BRAND = "Brand" # BRAND = "Brand"
# CATEGORY = "Category" # CATEGORY = "Category"
# CURRENCY = "Currency" # 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