Commit 46651d98 authored by Gladys Forte's avatar Gladys Forte

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

* commit '266a8408':
  template serializer
  action
  clean resubmit
  clean code re route
parents b2b448ca 266a8408
...@@ -32,6 +32,7 @@ from app.entities import enums ...@@ -32,6 +32,7 @@ from app.entities import enums
from django.forms.models import model_to_dict from django.forms.models import model_to_dict
import json import json
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.db.models import Min
APPROVER_MESSAGE = settings.APPROVER_MESSAGE APPROVER_MESSAGE = settings.APPROVER_MESSAGE
...@@ -294,9 +295,9 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -294,9 +295,9 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
form_header = get_object_or_404(models.ChangeRequestFormHeader, form_header = get_object_or_404(models.ChangeRequestFormHeader,
pk=instance.id) pk=instance.id)
new_instance = model_to_dict(form_header)
new_instance = model_to_dict(form_header)
# save history in form header # save history in form header
crhistory_save( crhistory_save(
batchno, batchno,
...@@ -308,46 +309,56 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -308,46 +309,56 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
new_instance new_instance
) )
approver_data = []
# get all approvers of form # get all approvers of form
approvers = models.ChangeRequestFormApprovers.objects.filter( approvers = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code) form_code=form_code)
for approver in approvers: for approver in approvers:
# get old data
old_instance = models.ChangeRequestFormApprovers.objects.filter( approver_add = {
code=approver.code).values() 'id': approver.id,
'action': None,
'remarks': None,
'date_sent': None,
'action_date': None
}
old_instance = list(old_instance) approver_data.append(approver_add)
# reset details change_request.form_add_edit_delete(
models.ChangeRequestFormApprovers.objects.filter( approver_data,
code=approver.code).update(action=None, models.ChangeRequestFormApprovers,
remarks=None, enums.CREntitiesEnum.CR_FRM_APPROVER.value,
date_sent=None, serializers.ChangeRequestFormApproversSerializer,
action_date=None) partial,
self,
# get new data form_code,
new_instance = models.ChangeRequestFormApprovers.objects.filter( batchno,
code=approver.code).values() enums.CREnum.REROUTE.value
)
new_instance = list(new_instance)
# save history in form approver min_level = models.ChangeRequestFormApprovers.objects.filter(
crhistory_save( form_code=form_code
batchno, ).aggregate(Min('level'))
enums.CREnum.REROUTE.value,
enums.CREnum.UPDATE.value, min_level = min_level.get('level__min')
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
form_code, next_approver_email(form_code, min_level)
old_instance,
new_instance # update next approver details
models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=form_code) & Q(level=str(min_level))
).update(
date_sent=datetime.now()
) )
# return Response(serializer.data) message = status_message_response(
return Response( 200, 'success',
"Change request form successfully re routed", 'Change request form successfully re routed',
status=status.HTTP_200_OK serializer.data
) )
return Response(message, status=status.HTTP_200_OK)
@action( @action(
methods=['PATCH'], detail=True, methods=['PATCH'], detail=True,
...@@ -355,37 +366,32 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -355,37 +366,32 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
) )
def re_submit(self, request, *args, **kwargs): def re_submit(self, request, *args, **kwargs):
form_code = kwargs['form_code']
# generate batchno history # generate batchno history
batchno = get_max_batchno("batch") batchno = get_max_batchno("batch")
# partial update
partial = kwargs.pop('partial', True)
instance = self.get_object()
# get old data form_code = kwargs['form_code']
old_instance = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).values()
old_instance = list(old_instance)
# get template no
tmp_no = models.ChangeRequestFormHeader.objects.values_list( status_update = {"status": 'Draft'}
'template_no', flat=True).get(form_code=form_code)
# get prefix of template serializer = self.get_serializer(instance,
CR_Prefix = models.ChangeRequestTemplateHeader.objects.values_list( data=status_update,
'requested_to_template_id', flat=True).get(template_no=tmp_no) partial=partial)
# update form header to draft and template id to prefix serializer.is_valid(raise_exception=True)
models.ChangeRequestFormHeader.objects.filter( old_instance = model_to_dict(instance)
form_code=form_code).update( self.perform_update(serializer)
requested_to_template_id=CR_Prefix,
status='Draft')
# get new data form_header = get_object_or_404(models.ChangeRequestFormHeader,
new_instance = models.ChangeRequestFormHeader.objects.filter( pk=instance.id)
form_code=form_code).values()
new_instance = model_to_dict(form_header)
new_instance = list(new_instance)
# save history in form header # save history in form header
crhistory_save( crhistory_save(
batchno, batchno,
...@@ -397,46 +403,43 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -397,46 +403,43 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
new_instance new_instance
) )
approver_data = []
# get all approvers of form # get all approvers of form
approvers = models.ChangeRequestFormApprovers.objects.filter( approvers = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code) form_code=form_code)
for approver in approvers: for approver in approvers:
# get old data
old_instance = models.ChangeRequestFormApprovers.objects.filter( approver_add = {
code=approver.code).values() 'id': approver.id,
'action': None,
'remarks': None,
'date_sent': None,
'action_date': None
}
old_instance = list(old_instance) approver_data.append(approver_add)
# reset details change_request.form_add_edit_delete(
models.ChangeRequestFormApprovers.objects.filter( approver_data,
code=approver.code).update(action=None, models.ChangeRequestFormApprovers,
remarks=None, enums.CREntitiesEnum.CR_FRM_APPROVER.value,
date_sent=None, serializers.ChangeRequestFormApproversSerializer,
action_date=None) partial,
self,
# get new data form_code,
new_instance = models.ChangeRequestFormApprovers.objects.filter( batchno,
code=approver.code).values() enums.CREnum.RESUBMIT.value
)
new_instance = list(new_instance)
# save history in form approver message = status_message_response(
crhistory_save( 200, 'success',
batchno, 'Change request form successfully re submitted',
enums.CREnum.RESUBMIT.value, serializer.data
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
form_code,
old_instance,
new_instance
)
return Response(
"Change request form successfully resubmitted",
status=status.HTTP_200_OK
) )
return Response(message, status=status.HTTP_200_OK)
# actions # actions
@action( @action(
methods=['PATCH'], detail=False, methods=['PATCH'], detail=False,
...@@ -458,41 +461,38 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -458,41 +461,38 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# generate batchno history # generate batchno history
batchno = get_max_batchno("batch") batchno = get_max_batchno("batch")
# get old data action_data = {
old_instance = models.ChangeRequestFormApprovers.objects.filter( 'id': int(request.data['id']),
pk=id).values() 'action': action,
'remarks': remarks,
'action_date': datetime.now()
}
old_instance = list(old_instance) approver_instance = models.ChangeRequestFormApprovers.objects.get(
pk=id
# update current row in routing table )
models.ChangeRequestFormApprovers.objects.filter(
pk=id).update(action=action, serializer = serializers.ChangeRequestFormApproversSerializer(
remarks=remarks, approver_instance,
action_date=datetime.now()) data=action_data,
partial=True)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(approver_instance)
# get new data self.perform_update(serializer)
new_instance = models.ChangeRequestFormApprovers.objects.filter( new_instance = serializer.data
pk=id).values()
new_instance = list(new_instance)
crenum = action.upper()
# save history in form approver
crhistory_save( crhistory_save(
batchno, batchno,
"ACTION", enums.CREnum.ACTION.value,
crenum, enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value, enums.CREntitiesEnum.CR_FRM_APPROVER.value,
form_code, form_code,
old_instance, old_instance,
new_instance new_instance
) )
# get details of next approver/s
next_approver = models.ChangeRequestFormApprovers.objects.filter(
level=str(next_level),
form_code=form_code
)
if action.lower() == 'approved': if action.lower() == 'approved':
# NOTIF MSG FOR REQUESTOR # NOTIF MSG FOR REQUESTOR
...@@ -508,16 +508,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -508,16 +508,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
remarks, level remarks, level
) )
# LOOP on next approver for sending email next_approver_email(form_code, next_level)
for n_approver in next_approver:
if n_approver.delegation.lower() == 'vendor/implementor':
notification_msg = VENDOR_ACKNOWLEDGE_MESSAGE.split(';')[0]
next_approver_email(
n_approver.user.code, form_code, delegation,
notification_msg
)
# update next approver details # update next approver details
models.ChangeRequestFormApprovers.objects.filter( models.ChangeRequestFormApprovers.objects.filter(
...@@ -595,11 +586,15 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -595,11 +586,15 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
models.ChangeRequestFormHeader.objects.filter( models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).update(status='Cancelled') form_code=form_code).update(status='Cancelled')
return Response(
"Action performed", message = status_message_response(
status=status.HTTP_200_OK 200, 'success',
'Action performed',
serializer.data
) )
return Response(message, status=status.HTTP_200_OK)
@transaction.atomic @transaction.atomic
@action( @action(
methods=['PATCH'], detail=True, methods=['PATCH'], detail=True,
...@@ -744,7 +739,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -744,7 +739,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
form_code, form_code,
batchno, batchno,
enums.CREnum.SUBMIT.value enums.CREnum.SUBMIT.value
) )
change_request.form_add_edit_delete( change_request.form_add_edit_delete(
form_data['frm_stakes'], form_data['frm_stakes'],
......
...@@ -10,6 +10,38 @@ from app.applicationlayer.cms.utils_cr import (get_account_details, ...@@ -10,6 +10,38 @@ from app.applicationlayer.cms.utils_cr import (get_account_details,
class ChangeRequestTemplateApproversSerializer( class ChangeRequestTemplateApproversSerializer(
serializers.ModelSerializer 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: class Meta:
model = models.ChangeRequestTemplateApprovers model = models.ChangeRequestTemplateApprovers
fields = '__all__' fields = '__all__'
...@@ -19,6 +51,38 @@ class ChangeRequestTemplateApproversSerializer( ...@@ -19,6 +51,38 @@ class ChangeRequestTemplateApproversSerializer(
class ChangeRequestTemplateStakeHoldersSerializer( class ChangeRequestTemplateStakeHoldersSerializer(
serializers.ModelSerializer 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: class Meta:
model = models.ChangeRequestTemplateStakeHolders model = models.ChangeRequestTemplateStakeHolders
fields = '__all__' fields = '__all__'
......
...@@ -328,11 +328,6 @@ class ChangeRequestTemplatePost(APIView): ...@@ -328,11 +328,6 @@ class ChangeRequestTemplatePost(APIView):
'requested_to_user': template_header['requested_to_user'] '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 sp1 = transaction.savepoint() # nothing will save to db
serializer = serializers.ChangeRequestTemplatesSerializer( serializer = serializers.ChangeRequestTemplatesSerializer(
...@@ -344,6 +339,7 @@ class ChangeRequestTemplatePost(APIView): ...@@ -344,6 +339,7 @@ class ChangeRequestTemplatePost(APIView):
tmp_id = serializer.data['template_no'] tmp_id = serializer.data['template_no']
# create template approvers # create template approvers
tmp_approvers = template_header['tmp_approvers']
for tmp_approver in tmp_approvers: for tmp_approver in tmp_approvers:
tmp_approver['template_no'] = tmp_id tmp_approver['template_no'] = tmp_id
...@@ -356,40 +352,46 @@ class ChangeRequestTemplatePost(APIView): ...@@ -356,40 +352,46 @@ class ChangeRequestTemplatePost(APIView):
serializerApprover.save() serializerApprover.save()
# create template stakes # create template stakes
if template_header['tmp_stakes']:
tmp_stakes = template_header['tmp_stakes']
for tmp_stake in tmp_stakes: for tmp_stake in tmp_stakes:
tmp_stake['template_no'] = tmp_id tmp_stake['template_no'] = tmp_id
data_list_stake.append(tmp_stake) data_list_stake.append(tmp_stake)
serializerStake = serializers.ChangeRequestTemplateStakeHoldersSerializer( serializerStake = serializers.ChangeRequestTemplateStakeHoldersSerializer(
data=data_list_stake, many=True) data=data_list_stake, many=True)
if serializerStake.is_valid(raise_exception=True): if serializerStake.is_valid(raise_exception=True):
serializerStake.save() serializerStake.save()
# create template attachments # create template attachments
if template_header['tmp_attachments']:
tmp_attachments = template_header['tmp_attachments']
for tmp_attachment in tmp_attachments: for tmp_attachment in tmp_attachments:
tmp_attachment['template_no'] = tmp_id tmp_attachment['template_no'] = tmp_id
data_list_attach.append(tmp_attachment) data_list_attach.append(tmp_attachment)
serializerAttach = serializers.ChangeRequestTemplateAttachmentsSerializer(
data=data_list_attach, many=True)
if serializerAttach.is_valid(raise_exception=True): serializerAttach = serializers.ChangeRequestTemplateAttachmentsSerializer(
serializerAttach.save() data=data_list_attach, many=True)
if serializerAttach.is_valid(raise_exception=True):
serializerAttach.save()
# create template details # create template details
if template_header['tmp_details']:
for tmp_detail in tmp_details: tmp_details = template_header['tmp_details']
tmp_detail['template_no'] = tmp_id
data_list_detail.append(tmp_detail) for tmp_detail in tmp_details:
tmp_detail['template_no'] = tmp_id
serializerDetail = serializers.ChangeRequestTemplateDetailsSerializer( data_list_detail.append(tmp_detail)
data=data_list_detail, many=True)
serializerDetail = serializers.ChangeRequestTemplateDetailsSerializer(
if serializerDetail.is_valid(raise_exception=True): data=data_list_detail, many=True)
serializerDetail.save()
if serializerDetail.is_valid(raise_exception=True):
serializerDetail.save()
message = { message = {
'code': 201, 'code': 201,
......
...@@ -18,6 +18,14 @@ from django.db.models import Max ...@@ -18,6 +18,14 @@ from django.db.models import Max
CR_FRONT_LINK = settings.CR_FRONT_LINK CR_FRONT_LINK = settings.CR_FRONT_LINK
APPROVER_MESSAGE = settings.APPROVER_MESSAGE
REQUESTOR_MESSAGE = settings.REQUESTOR_MESSAGE
REQUESTOR_REJECT_MESSAGE = settings.REQUESTOR_REJECT_MESSAGE
VENDOR_ACKNOWLEDGE_MESSAGE = settings.VENDOR_ACKNOWLEDGE_MESSAGE
REQUESTOR_ACKNOWLEDGE_MESSAGE = settings.REQUESTOR_ACKNOWLEDGE_MESSAGE
REQUESTOR_COMPLETION_MESSAGE = settings.REQUESTOR_COMPLETION_MESSAGE
VENDOR_ACCEPTANCE_MESSAGE = settings.VENDOR_ACCEPTANCE_MESSAGE
VENDOR_REJECT_MESSAGE = settings.VENDOR_REJECT_MESSAGE
def entity_log_bulk(queryset, entity, tbl): def entity_log_bulk(queryset, entity, tbl):
...@@ -277,7 +285,7 @@ def send_mail_requestor(current_user, ...@@ -277,7 +285,7 @@ def send_mail_requestor(current_user,
current_user) current_user)
def next_approver_email(receiver, form_code, delegation, msg): def next_approver_email(form_code, next_level):
cr_link = f'{CR_FRONT_LINK}/{form_code}' cr_link = f'{CR_FRONT_LINK}/{form_code}'
template_instance = get_template_instance(form_code) template_instance = get_template_instance(form_code)
...@@ -289,12 +297,6 @@ def next_approver_email(receiver, form_code, delegation, msg): ...@@ -289,12 +297,6 @@ def next_approver_email(receiver, form_code, delegation, msg):
requested_to_priority = template_instance.requested_to_priority requested_to_priority = template_instance.requested_to_priority
cr_status = template_instance.status cr_status = template_instance.status
# next approver details --------------------------------------------------
receiver_instance = get_account_details(receiver)
receiver_name = receiver_instance.values_list('name', flat=True)[0]
receiver_email = receiver_instance.values_list('email', flat=True)[0]
receiver_code = receiver_instance.values_list('code', flat=True)[0]
# requestor details -------------------------------------------------- # requestor details --------------------------------------------------
sender_instance = get_account_details(requested_by_user) sender_instance = get_account_details(requested_by_user)
sender_email = sender_instance.values_list('email', flat=True)[0] sender_email = sender_instance.values_list('email', flat=True)[0]
...@@ -306,34 +308,55 @@ def next_approver_email(receiver, form_code, delegation, msg): ...@@ -306,34 +308,55 @@ def next_approver_email(receiver, form_code, delegation, msg):
company = get_companies_details(requested_to_company) company = get_companies_details(requested_to_company)
company_name = company.values_list('name', flat=True)[0] company_name = company.values_list('name', flat=True)[0]
# call sender email
name = receiver_name # get details of next approver/s
cr_number = cr_number next_approver = models.ChangeRequestFormApprovers.objects.filter(
cr_name = template_name level=str(next_level),
company_requestedto = company_name form_code=form_code
department_requestedto = dept_name )
priority_level = requested_to_priority
status = cr_status
url = cr_link
recipient = receiver_email # LOOP on next approver for sending email
delegation_type = delegation for n_approver in next_approver:
admin = sender_email
# NOTIF MSG FOR NEXT APPROVER
args = [name, cr_number, cr_name, msg = APPROVER_MESSAGE.split(';')[0]
company_requestedto, department_requestedto, priority_level,
status, url, recipient, delegation_type, admin] if n_approver.delegation.lower() == 'vendor/implementor':
msg = VENDOR_ACKNOWLEDGE_MESSAGE.split(';')[0]
main_threading(args, sender.routing_table_actions_required)
# next approver details --------------------------------------------------
message = f"{sender_name} {msg} ({template_name})" receiver_instance = get_account_details(n_approver.user.code)
receiver_name = receiver_instance.values_list('name', flat=True)[0]
# create notification receiver_email = receiver_instance.values_list('email', flat=True)[0]
receiver_code = receiver_instance.values_list('code', flat=True)[0]
notification_create(form_code, message, receiver_code,
sender_code) # call sender email
name = receiver_name
cr_number = cr_number
cr_name = template_name
company_requestedto = company_name
department_requestedto = dept_name
priority_level = requested_to_priority
status = cr_status
url = cr_link
recipient = receiver_email
delegation_type = n_approver.delegation.lower()
admin = sender_email
args = [name, cr_number, cr_name,
company_requestedto, department_requestedto, priority_level,
status, url, recipient, delegation_type, admin]
main_threading(args, sender.routing_table_actions_required)
message = f"{sender_name} {msg} ({template_name})"
# create notification
notification_create(form_code, message, receiver_code,
sender_code)
def cancel_overdue(request): def cancel_overdue(request):
...@@ -447,4 +470,4 @@ def crhistory_log_bulk_delete(queryset, entity, tbl, form_code, ...@@ -447,4 +470,4 @@ def crhistory_log_bulk_delete(queryset, entity, tbl, form_code,
tbl.objects.filter(id=test['id']).delete() tbl.objects.filter(id=test['id']).delete()
return True return True
except IntegrityError as exc: except IntegrityError as exc:
raise APIException(detail=exc) raise APIException(detail=exc)
\ No newline at end of file
...@@ -139,39 +139,41 @@ def send_broadcast_message(room_name, sender, message): ...@@ -139,39 +139,41 @@ def send_broadcast_message(room_name, sender, message):
def notification_create(form_code, message, account_no, sender_account_no): def notification_create(form_code, message, account_no, sender_account_no):
# try:
v = Notification.objects.create(
form_code=form_code,
notif_type='TASK',
message=message,
is_read=False,
app='APP-20190909-0000002',
account_no=account_no,
sender_account_no=sender_account_no
)
print(v)
# ROOM = account_no
# SENDER = sender_account_no
# send_broadcast_message( try:
# ROOM,
# SENDER, Notification.objects.create(
# 'NEW NOTIFICATIONS' form_code=form_code,
# ) notif_type='TASK',
message=message,
# message = { is_read=False,
# 'code': 200, app='APP-20190909-0000002',
# 'status': 'success', account_no=account_no,
# 'message': 'Notification successfully created!', sender_account_no=sender_account_no
# } )
# return Response(message, status=status.HTTP_200_OK)
return True ROOM = account_no
SENDER = sender_account_no
send_broadcast_message(
ROOM,
SENDER,
'NEW NOTIFICATIONS'
)
# except Exception as e: # message = {
# message = { # 'code': 200,
# 'code': 500, # 'status': 'success',
# 'status': 'failed', # 'message': 'Notification successfully created!',
# 'message': 'Request was not able to process' + str(e.__class__) # }
# } # return Response(message, status=status.HTTP_200_OK)
# return Response(message, return True
# status=status.HTTP_500_INTERNAL_SERVER_ERROR)
\ No newline at end of file except Exception as e:
message = {
'code': 500,
'status': 'failed',
'message': 'Request was not able to process' + str(e.__class__)
}
return Response(message,
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
\ No newline at end of file
...@@ -290,8 +290,8 @@ def form_add_edit_delete(form_request_body, ...@@ -290,8 +290,8 @@ def form_add_edit_delete(form_request_body,
serializer = serializer_data(frm_instance, serializer = serializer_data(frm_instance,
data=i, data=i,
partial=True) partial=partial)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(frm_instance) old_instance = model_to_dict(frm_instance)
......
...@@ -103,6 +103,7 @@ class CREnum(Enum): ...@@ -103,6 +103,7 @@ class CREnum(Enum):
ACCEPTED = "ACCEPTED" ACCEPTED = "ACCEPTED"
ACKNOWLEDGED = "ACKNOWLEDGED" ACKNOWLEDGED = "ACKNOWLEDGED"
REJECTED = "REJECTED" REJECTED = "REJECTED"
ACTION = "ACTION"
class CREntitiesEnum(Enum): class CREntitiesEnum(Enum):
......
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