Commit 63a26494 authored by Gladys Forte's avatar Gladys Forte

Merge pull request #451 in RMS/api-main-service from gladys-dev2 to RMSv2

* commit 'fc71568c':
  delegation remove destroy
parents 2d5cc6da fc71568c
...@@ -64,55 +64,62 @@ class DelegationViewSet(viewsets.ModelViewSet): ...@@ -64,55 +64,62 @@ class DelegationViewSet(viewsets.ModelViewSet):
@transaction.atomic @transaction.atomic
def destroy(self, request, *args, **kwargs): def destroy(self, request, *args, **kwargs):
instance = self.get_object() # instance = self.get_object()
new_instance = model_to_dict(instance) # new_instance = model_to_dict(instance)
exist_in_dept = instance.departments.all()
# restrictions
if not exist_in_dept.count() > 0:
print(exist_in_dept)
if not (new_instance['name'].lower() == 'head of department' or
new_instance['name'].lower() == 'sd/od' or
new_instance['name'].lower() == 'change control board' or
new_instance['name'].lower() == 'approver' or
new_instance['name'].lower() == 'vendor/implementor' or
new_instance['name'].lower() == 'requestor'):
self.perform_destroy(instance)
log_save(
enums.LogEnum.DELETED.value,
enums.LogEntitiesEnum.DELEGATION.value,
new_instance['id'],
new_instance,
''
)
message = {
'code': 200,
'status': 'success',
'message': 'Delegation Successfully deleted'
}
return Response(message, status=status.HTTP_200_OK)
else:
message = {
'code': 400,
'status': 'failed',
'message': 'Default delegation cannot delete'
}
return Response(message, status=status.HTTP_400_BAD_REQUEST)
else:
message = { message = {
'code': 400, 'code': 400,
'status': 'failed', 'status': 'failed',
'message': 'Cannot delete this delegation due to existing record in department' 'message': 'Delegation/s cannot delete, Please update instead'
} }
return Response(message, status=status.HTTP_400_BAD_REQUEST) return Response(message, status=status.HTTP_400_BAD_REQUEST)
# exist_in_dept = instance.departments.all()
# restrictions
# if not exist_in_dept.count() > 0:
# print(exist_in_dept)
# if not (new_instance['name'].lower() == 'head of department' or
# new_instance['name'].lower() == 'sd/od' or
# new_instance['name'].lower() == 'change control board' or
# new_instance['name'].lower() == 'approver' or
# new_instance['name'].lower() == 'vendor/implementor' or
# new_instance['name'].lower() == 'requestor'):
# self.perform_destroy(instance)
# log_save(
# enums.LogEnum.DELETED.value,
# enums.LogEntitiesEnum.DELEGATION.value,
# new_instance['id'],
# new_instance,
# ''
# )
# message = {
# 'code': 200,
# 'status': 'success',
# 'message': 'Delegation Successfully deleted'
# }
# return Response(message, status=status.HTTP_200_OK)
# else:
# message = {
# 'code': 400,
# 'status': 'failed',
# 'message': 'Default delegation cannot delete'
# }
# return Response(message, status=status.HTTP_400_BAD_REQUEST)
# else:
# message = {
# 'code': 400,
# 'status': 'failed',
# 'message': 'Cannot delete this delegation due to existing record in department'
# }
# return Response(message, status=status.HTTP_400_BAD_REQUEST)
@transaction.atomic @transaction.atomic
def update(self, request, *args, **kwargs): def update(self, request, *args, **kwargs):
...@@ -138,7 +145,7 @@ class DelegationViewSet(viewsets.ModelViewSet): ...@@ -138,7 +145,7 @@ class DelegationViewSet(viewsets.ModelViewSet):
new_instance = serializer.data new_instance = serializer.data
log_save( log_save(
enums.LogEnum.DELETED.value, enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.DELEGATION.value, enums.LogEntitiesEnum.DELEGATION.value,
old_instance['id'], old_instance['id'],
old_instance, old_instance,
......
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