Commit c9e9ad2e authored by John Red Medrano's avatar John Red Medrano

Merge branch 'gladys-dev2' of http://42.61.118.105:7990/scm/rms/api-main-service into red-develop

parents ccd3ed86 e913cfde
...@@ -598,44 +598,33 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -598,44 +598,33 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
status=status.HTTP_200_OK status=status.HTTP_200_OK
) )
@transaction.atomic
@action( @action(
methods=['PATCH'], detail=True, methods=['PATCH'], detail=True,
url_path='save', url_name='save' url_path='save', url_name='save'
) )
def save(self, request, *args, **kwargs): def save(self, request, *args, **kwargs):
form_code = kwargs['form_code'] partial = kwargs.pop('partial', False)
form_header_data = request.data instance = self.get_object()
# get pk form_code = kwargs['form_code']
frm_id = models.ChangeRequestFormHeader.objects.get(form_code=form_code) form_data = request.data
# generate batchno history # generate batchno history
batchno = get_max_batchno("batch") batchno = get_max_batchno("batch")
# get old data
old_instance = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).values()
old_instance = list(old_instance)
# get data CR Form Header # update form header
form_header = get_object_or_404( serializer = self.get_serializer(instance,
models.ChangeRequestFormHeader.objects.all(), pk=frm_id.id) data=form_data,
partial=partial)
serializer = serializers.ChangeRequestFormHeaderSerializer(
form_header, data=form_header_data)
if serializer.is_valid(): serializer.is_valid(raise_exception=True)
serializer.save() old_instance = model_to_dict(instance)
self.perform_update(serializer)
# get new data new_instance = serializer.data
new_instance = models.ChangeRequestFormHeader.objects.filter( print(serializer.errors)
form_code=form_code).values()
new_instance = list(new_instance)
# save history in form header # save history in form header
crhistory_save( crhistory_save(
batchno, batchno,
...@@ -647,504 +636,91 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -647,504 +636,91 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
new_instance new_instance
) )
# --------------------------------------------------------------------- change_request.form_add_edit_delete(
# get approvers data form_data['frm_approvers'],
approver_id = models.ChangeRequestFormApprovers.objects.filter( models.ChangeRequestFormApprovers,
form_code=form_code) enums.CREntitiesEnum.CR_FRM_APPROVER.value,
serializers.ChangeRequestFormApproversSerializer,
# list existing id to variable partial,
existing_approver_ids = [item.id for item in approver_id] self,
form_code,
frm_approvers = form_header_data['frm_approvers'] batchno,
enums.CREnum.SAVE.value
updated_approver_ids = [] )
# get all ids
for frm_approver in frm_approvers:
if "id" in frm_approver:
updated_approver_ids.append(frm_approver['id'])
# Delete any approvers not included in the request
for e in existing_approver_ids:
if e not in updated_approver_ids:
# get old data
old_instance = models.ChangeRequestFormApprovers.objects.filter(
pk=e).values()
old_instance = list(old_instance)
models.ChangeRequestFormApprovers.objects.filter(
pk=e).delete()
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
form_code,
old_instance,
None
)
# Create or update approver data that are in the request
for frm_approver in frm_approvers:
if "id" in frm_approver:
# get old data
old_instance = models.ChangeRequestFormApprovers.objects.filter(
pk=frm_approver['id']).values()
old_instance = list(old_instance)
models.ChangeRequestFormApprovers.objects.filter(
pk=frm_approver['id']).update(level=frm_approver['level'],
delegation=frm_approver['delegation'],
created=datetime.now(),
remarks=None,
action=None,
action_date=None,
date_sent=None,
user=frm_approver['user'],
tmp_approver=frm_approver['tmp_approver'])
# get new data
new_instance = models.ChangeRequestFormApprovers.objects.filter(
pk=frm_approver['id']).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
form_code,
old_instance,
new_instance
)
else:
user_instance = models.User.objects.get(
code=frm_approver['user'])
cre = models.ChangeRequestFormApprovers.objects.create(
level=frm_approver['level'],
delegation=frm_approver['delegation'],
created=datetime.now(),
user=user_instance,
form_code=frm_id,
code='try')
code = number_generator(enums.GenerateCode.FORM_APPROVER.value, cre.id)
models.ChangeRequestFormApprovers.objects.filter(
id=cre.id).update(code=code)
# get new data
new_instance = models.ChangeRequestFormApprovers.objects.filter(
pk=cre.id).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
form_code,
None,
new_instance
)
# ---------------------------------------------------------------------
# get stakes data
stakes_id = models.ChangeRequestFormStakeHolders.objects.filter(
form_code=form_code)
# list existing id to variable
existing_stakes_ids = [item.id for item in stakes_id]
frm_stakes = form_header_data['frm_stakes']
updated_stakes_ids = []
# get all ids
for frm_stake in frm_stakes:
if "id" in frm_stake:
updated_stakes_ids.append(frm_stake['id'])
# Delete any stakes not included in the request
for e in existing_stakes_ids:
if e not in updated_stakes_ids:
# get old data
old_instance = models.ChangeRequestFormStakeHolders.objects.filter(
pk=e).values()
old_instance = list(old_instance)
models.ChangeRequestFormStakeHolders.objects.filter(
pk=e).delete()
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
form_code,
old_instance,
None
)
# Create or update stake data that are in the request
for frm_stake in frm_stakes:
if "id" in frm_stake:
# get old data
old_instance = models.ChangeRequestFormStakeHolders.objects.filter(
pk=frm_stake['id']).values()
old_instance = list(old_instance)
models.ChangeRequestFormStakeHolders.objects.filter(
pk=frm_stake['id']).update(
delegation=frm_stake['delegation'],
created=datetime.now(),
user=frm_stake['user'],
tmp_stake=frm_stake['tmp_stake'])
# get new data
new_instance = models.ChangeRequestFormStakeHolders.objects.filter(
pk=frm_stake['id']).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
form_code,
old_instance,
new_instance
)
else:
user_instance = models.User.objects.get(
code=frm_stake['user'])
cre = models.ChangeRequestFormStakeHolders.objects.create(
delegation=frm_stake['delegation'],
created=datetime.now(),
user=user_instance,
form_code=frm_id,
code='try')
code = number_generator(enums.GenerateCode.FORM_STAKE.value, cre.id)
models.ChangeRequestFormStakeHolders.objects.filter(
id=cre.id).update(code=code)
# get new data
new_instance = models.ChangeRequestFormStakeHolders.objects.filter(
pk=cre.id).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
form_code,
None,
new_instance
)
# ---------------------------------------------------------------------
# get attachments data
attach_id = models.ChangeRequestFormAttachments.objects.filter(
form_code=form_code)
# list existing id to variable
existing_attach_ids = [item.id for item in attach_id]
frm_attach = form_header_data['frm_attachments']
updated_attach_ids = []
# get all ids
for frm_att in frm_attach:
if "id" in frm_att:
updated_attach_ids.append(frm_att['id'])
# Delete any attachments not included in the request
for e in existing_attach_ids:
if e not in updated_attach_ids:
# get old data
old_instance = models.ChangeRequestFormAttachments.objects.filter(
pk=e).values()
old_instance = list(old_instance)
models.ChangeRequestFormAttachments.objects.filter(
pk=e).delete()
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
form_code,
old_instance,
None
)
# Create or update attachments data that are in the request change_request.form_add_edit_delete(
for frm_att in frm_attach: form_data['frm_stakes'],
models.ChangeRequestFormStakeHolders,
if "id" in frm_att: enums.CREntitiesEnum.CR_FRM_STAKE.value,
serializers.ChangeRequestFormStakeHoldersSerializer,
# get old data partial,
old_instance = models.ChangeRequestFormAttachments.objects.filter( self,
pk=frm_att['id']).values() form_code,
batchno,
old_instance = list(old_instance) enums.CREnum.SAVE.value
)
models.ChangeRequestFormAttachments.objects.filter(
pk=frm_att['id']).update(
attachment_type=frm_att['attachment_type'],
attachment_name=frm_att['attachment_name'],
file_name=frm_att['file_name'],
description=frm_att['description'],
file_upload=frm_att['file_upload'],
uploaded_by=frm_att['uploaded_by'],
created=datetime.now())
# get new data
new_instance = models.ChangeRequestFormAttachments.objects.filter(
pk=frm_att['id']).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
form_code,
old_instance,
new_instance
)
else:
user_instance = models.User.objects.get(
code=frm_att['uploaded_by'])
cre = models.ChangeRequestFormAttachments.objects.create(
attachment_type=frm_att['attachment_type'],
attachment_name=frm_att['attachment_name'],
file_name=frm_att['file_name'],
description=frm_att['description'],
file_upload=frm_att['file_upload'],
uploaded_by=user_instance,
created=datetime.now(),
form_code=frm_id,
code='try')
code = number_generator(enums.GenerateCode.FORM_ATTACH.value, cre.id)
models.ChangeRequestFormAttachments.objects.filter(
id=cre.id).update(code=code)
# get new data
new_instance = models.ChangeRequestFormAttachments.objects.filter(
pk=cre.id).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
form_code,
None,
new_instance
)
# ---------------------------------------------------------------------
# get details data
detail_id = models.ChangeRequestFormDetails.objects.filter(
form_code=form_code)
# list existing id to variable
existing_detail_ids = [item.id for item in detail_id]
frm_details = form_header_data['frm_details'] change_request.form_add_edit_delete(
form_data['frm_attachments'],
models.ChangeRequestFormAttachments,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
serializers.ChangeRequestFormAttachmentsSerializer,
partial,
self,
form_code,
batchno,
enums.CREnum.SAVE.value
)
updated_detail_ids = [] change_request.form_add_edit_delete(
form_data['frm_details'],
# get all ids models.ChangeRequestFormDetails,
for frm_detail in frm_details: enums.CREntitiesEnum.CR_FRM_DETAIL.value,
if "id" in frm_detail: serializers.ChangeRequestFormDetailsSerializer,
updated_detail_ids.append(frm_detail['id']) partial,
self,
# Delete any attachments not included in the request form_code,
for e in existing_detail_ids: batchno,
if e not in updated_detail_ids: enums.CREnum.SAVE.value
)
# get old data
old_instance = models.ChangeRequestFormDetails.objects.filter(
pk=e).values()
old_instance = list(old_instance)
models.ChangeRequestFormDetails.objects.filter(
pk=e).delete()
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
form_code,
old_instance,
None
)
# Create or update attachments data that are in the request serializer = self.get_serializer(instance)
for frm_detail in frm_details:
if "id" in frm_detail:
# get old data
old_instance = models.ChangeRequestFormDetails.objects.filter(
pk=frm_detail['id']).values()
old_instance = list(old_instance)
models.ChangeRequestFormDetails.objects.filter(
pk=frm_detail['id']).update(
field_idx=frm_detail['field_idx'],
field_ref=frm_detail['field_ref'],
field_val=frm_detail['field_val'],
field_props=frm_detail['field_props'],
created=datetime.now())
# get new data
new_instance = models.ChangeRequestFormDetails.objects.filter(
pk=frm_detail['id']).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
form_code,
old_instance,
new_instance
)
else:
cre = models.ChangeRequestFormDetails.objects.create(
field_idx=frm_detail['field_idx'],
field_ref=frm_detail['field_ref'],
field_val=frm_detail['field_val'],
field_props=frm_detail['field_props'],
created=datetime.now(),
code='try',
form_code=frm_id)
code = number_generator(enums.GenerateCode.FORM_DETAIL.value, cre.id)
models.ChangeRequestFormDetails.objects.filter(
id=cre.id).update(code=code)
# get new data
new_instance = models.ChangeRequestFormDetails.objects.filter(
pk=cre.id).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
form_code,
None,
new_instance
)
serializer = self.get_serializer(frm_id)
message = status_message_response( message = status_message_response(
200, 'success', 200, 'success',
'Change Request successfully saved', serializer.data 'Change Request successfully saved',
serializer.data
) )
return Response(message, status=status.HTTP_200_OK) return Response(message, status=status.HTTP_200_OK)
@transaction.atomic
@action( @action(
methods=['PATCH'], detail=True, methods=['PATCH'], detail=True,
url_path='submit', url_name='submit' url_path='submit', url_name='submit'
) )
def submit(self, request, *args, **kwargs): def submit(self, request, *args, **kwargs):
form_code = kwargs['form_code'] partial = kwargs.pop('partial', False)
form_header_data = request.data instance = self.get_object()
# get pk form_code = kwargs['form_code']
frm_id = models.ChangeRequestFormHeader.objects.get(form_code=form_code) form_data = request.data
# generate batchno history # generate batchno history
batchno = get_max_batchno("batch") batchno = get_max_batchno("batch")
# get old data
old_instance = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).values()
old_instance = list(old_instance)
# get data CR Form Header
form_header = get_object_or_404(
models.ChangeRequestFormHeader.objects.all(), pk=frm_id.id)
serializer = serializers.ChangeRequestFormHeaderSerializer( # update form header
form_header, data=form_header_data) serializer = self.get_serializer(instance,
data=form_data,
partial=partial)
if serializer.is_valid(): serializer.is_valid(raise_exception=True)
serializer.save() old_instance = model_to_dict(instance)
self.perform_update(serializer)
new_instance = serializer.data
print(serializer.errors) print(serializer.errors)
# get new data
new_instance = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).values()
new_instance = list(new_instance)
# save history in form header # save history in form header
crhistory_save( crhistory_save(
batchno, batchno,
...@@ -1156,461 +732,60 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -1156,461 +732,60 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
new_instance new_instance
) )
# --------------------------------------------------------------------- change_request.form_add_edit_delete(
# get approvers data form_data['frm_approvers'],
approver_id = models.ChangeRequestFormApprovers.objects.filter( models.ChangeRequestFormApprovers,
form_code=form_code) enums.CREntitiesEnum.CR_FRM_APPROVER.value,
serializers.ChangeRequestFormApproversSerializer,
# list existing id to variable partial,
existing_approver_ids = [item.id for item in approver_id] self,
form_code,
frm_approvers = form_header_data['frm_approvers'] batchno,
enums.CREnum.SUBMIT.value
updated_approver_ids = [] )
# get all ids
for frm_approver in frm_approvers:
if "id" in frm_approver:
updated_approver_ids.append(frm_approver['id'])
# Delete any approvers not included in the request
for e in existing_approver_ids:
if e not in updated_approver_ids:
# get old data
old_instance = models.ChangeRequestFormApprovers.objects.filter(
pk=e).values()
old_instance = list(old_instance)
models.ChangeRequestFormApprovers.objects.filter(
pk=e).delete()
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
form_code,
old_instance,
None
)
# Create or update approver data that are in the request
for frm_approver in frm_approvers:
if "id" in frm_approver:
# get old data
old_instance = models.ChangeRequestFormApprovers.objects.filter(
pk=frm_approver['id']).values()
old_instance = list(old_instance)
models.ChangeRequestFormApprovers.objects.filter(
pk=frm_approver['id']).update(level=frm_approver['level'],
delegation=frm_approver['delegation'],
created=datetime.now(),
remarks=None,
action=None,
action_date=None,
date_sent=None,
user=frm_approver['user'],
tmp_approver=frm_approver['tmp_approver'])
# get new data
new_instance = models.ChangeRequestFormApprovers.objects.filter(
pk=frm_approver['id']).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
form_code,
old_instance,
new_instance
)
else:
user_instance = models.User.objects.get(
code=frm_approver['user'])
cre = models.ChangeRequestFormApprovers.objects.create(
level=frm_approver['level'],
delegation=frm_approver['delegation'],
created=datetime.now(),
user=user_instance,
form_code=frm_id,
code='try')
code = number_generator(enums.GenerateCode.FORM_APPROVER.value, cre.id)
models.ChangeRequestFormApprovers.objects.filter(
id=cre.id).update(code=code)
# get new data
new_instance = models.ChangeRequestFormApprovers.objects.filter(
pk=cre.id).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
form_code,
None,
new_instance
)
# ---------------------------------------------------------------------
# get stakes data
stakes_id = models.ChangeRequestFormStakeHolders.objects.filter(
form_code=form_code)
# list existing id to variable
existing_stakes_ids = [item.id for item in stakes_id]
frm_stakes = form_header_data['frm_stakes']
updated_stakes_ids = []
# get all ids
for frm_stake in frm_stakes:
if "id" in frm_stake:
updated_stakes_ids.append(frm_stake['id'])
# Delete any stakes not included in the request
for e in existing_stakes_ids:
if e not in updated_stakes_ids:
# get old data
old_instance = models.ChangeRequestFormStakeHolders.objects.filter(
pk=e).values()
old_instance = list(old_instance)
models.ChangeRequestFormStakeHolders.objects.filter(
pk=e).delete()
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
form_code,
old_instance,
None
)
# Create or update stake data that are in the request
for frm_stake in frm_stakes:
if "id" in frm_stake:
# get old data
old_instance = models.ChangeRequestFormStakeHolders.objects.filter(
pk=frm_stake['id']).values()
old_instance = list(old_instance)
models.ChangeRequestFormStakeHolders.objects.filter(
pk=frm_stake['id']).update(
delegation=frm_stake['delegation'],
created=datetime.now(),
user=frm_stake['user'],
tmp_stake=frm_stake['tmp_stake'])
# get new data
new_instance = models.ChangeRequestFormStakeHolders.objects.filter(
pk=frm_stake['id']).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
form_code,
old_instance,
new_instance
)
else:
user_instance = models.User.objects.get(
code=frm_stake['user'])
cre = models.ChangeRequestFormStakeHolders.objects.create(
delegation=frm_stake['delegation'],
created=datetime.now(),
user=user_instance,
form_code=frm_id,
code='try')
code = number_generator(enums.GenerateCode.FORM_STAKE.value, cre.id)
models.ChangeRequestFormStakeHolders.objects.filter(
id=cre.id).update(code=code)
# get new data
new_instance = models.ChangeRequestFormStakeHolders.objects.filter(
pk=cre.id).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
form_code,
None,
new_instance
)
# ---------------------------------------------------------------------
# get attachments data
attach_id = models.ChangeRequestFormAttachments.objects.filter(
form_code=form_code)
# list existing id to variable
existing_attach_ids = [item.id for item in attach_id]
frm_attach = form_header_data['frm_attachments']
updated_attach_ids = []
# get all ids
for frm_att in frm_attach:
if "id" in frm_att:
updated_attach_ids.append(frm_att['id'])
# Delete any attachments not included in the request
for e in existing_attach_ids:
if e not in updated_attach_ids:
# get old data
old_instance = models.ChangeRequestFormAttachments.objects.filter(
pk=e).values()
old_instance = list(old_instance)
models.ChangeRequestFormAttachments.objects.filter(
pk=e).delete()
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
form_code,
old_instance,
None
)
# Create or update attachments data that are in the request change_request.form_add_edit_delete(
for frm_att in frm_attach: form_data['frm_stakes'],
models.ChangeRequestFormStakeHolders,
if "id" in frm_att: enums.CREntitiesEnum.CR_FRM_STAKE.value,
serializers.ChangeRequestFormStakeHoldersSerializer,
# get old data partial,
old_instance = models.ChangeRequestFormAttachments.objects.filter( self,
pk=frm_att['id']).values() form_code,
batchno,
old_instance = list(old_instance) enums.CREnum.SUBMIT.value
)
models.ChangeRequestFormAttachments.objects.filter(
pk=frm_att['id']).update(
attachment_type=frm_att['attachment_type'],
attachment_name=frm_att['attachment_name'],
file_name=frm_att['file_name'],
description=frm_att['description'],
file_upload=frm_att['file_upload'],
uploaded_by=frm_att['uploaded_by'],
created=datetime.now())
# get new data
new_instance = models.ChangeRequestFormAttachments.objects.filter(
pk=frm_att['id']).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
form_code,
old_instance,
new_instance
)
else:
user_instance = models.User.objects.get(
code=frm_att['uploaded_by'])
cre = models.ChangeRequestFormAttachments.objects.create(
attachment_type=frm_att['attachment_type'],
attachment_name=frm_att['attachment_name'],
file_name=frm_att['file_name'],
description=frm_att['description'],
file_upload=frm_att['file_upload'],
uploaded_by=user_instance,
created=datetime.now(),
form_code=frm_id,
code='try')
code = number_generator(enums.GenerateCode.FORM_ATTACH.value, cre.id)
models.ChangeRequestFormAttachments.objects.filter(
id=cre.id).update(code=code)
# get new data
new_instance = models.ChangeRequestFormAttachments.objects.filter(
pk=cre.id).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
form_code,
None,
new_instance
)
# ---------------------------------------------------------------------
# get details data
detail_id = models.ChangeRequestFormDetails.objects.filter(
form_code=form_code)
# list existing id to variable
existing_detail_ids = [item.id for item in detail_id]
frm_details = form_header_data['frm_details'] change_request.form_add_edit_delete(
form_data['frm_attachments'],
models.ChangeRequestFormAttachments,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
serializers.ChangeRequestFormAttachmentsSerializer,
partial,
self,
form_code,
batchno,
enums.CREnum.SUBMIT.value
)
updated_detail_ids = [] change_request.form_add_edit_delete(
form_data['frm_details'],
# get all ids models.ChangeRequestFormDetails,
for frm_detail in frm_details: enums.CREntitiesEnum.CR_FRM_DETAIL.value,
if "id" in frm_detail: serializers.ChangeRequestFormDetailsSerializer,
updated_detail_ids.append(frm_detail['id']) partial,
self,
# Delete any attachments not included in the request form_code,
for e in existing_detail_ids: batchno,
if e not in updated_detail_ids: enums.CREnum.SUBMIT.value
)
# get old data
old_instance = models.ChangeRequestFormDetails.objects.filter(
pk=e).values()
old_instance = list(old_instance)
models.ChangeRequestFormDetails.objects.filter(
pk=e).delete()
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
form_code,
old_instance,
None
)
# Create or update attachments data that are in the request serializer = self.get_serializer(instance)
for frm_detail in frm_details:
if "id" in frm_detail:
# get old data
old_instance = models.ChangeRequestFormDetails.objects.filter(
pk=frm_detail['id']).values()
old_instance = list(old_instance)
models.ChangeRequestFormDetails.objects.filter(
pk=frm_detail['id']).update(
field_idx=frm_detail['field_idx'],
field_ref=frm_detail['field_ref'],
field_val=frm_detail['field_val'],
field_props=frm_detail['field_props'],
created=datetime.now())
# get new data
new_instance = models.ChangeRequestFormDetails.objects.filter(
pk=frm_detail['id']).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
form_code,
old_instance,
new_instance
)
else:
cre = models.ChangeRequestFormDetails.objects.create(
field_idx=frm_detail['field_idx'],
field_ref=frm_detail['field_ref'],
field_val=frm_detail['field_val'],
field_props=frm_detail['field_props'],
created=datetime.now(),
code='try',
form_code=frm_id)
code = number_generator(enums.GenerateCode.FORM_DETAIL.value, cre.id)
models.ChangeRequestFormDetails.objects.filter(
id=cre.id).update(code=code)
# get new data
new_instance = models.ChangeRequestFormDetails.objects.filter(
pk=cre.id).values()
new_instance = list(new_instance)
# save history in form approver
crhistory_save(
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
form_code,
None,
new_instance
)
serializer = self.get_serializer(frm_id)
message = status_message_response( message = status_message_response(
200, 'success', 200, 'success',
'Change Request successfully submitted', serializer.data 'Change Request successfully submitted',
serializer.data
) )
return Response(message, status=status.HTTP_200_OK) return Response(message, status=status.HTTP_200_OK)
......
...@@ -10,7 +10,7 @@ class ChangeRequestTemplateApproversSerializer( ...@@ -10,7 +10,7 @@ class ChangeRequestTemplateApproversSerializer(
class Meta: class Meta:
model = models.ChangeRequestTemplateApprovers model = models.ChangeRequestTemplateApprovers
fields = '__all__' fields = '__all__'
read_only_fields = ['created', 'archived_at', 'code'] read_only_fields = ['created', 'code']
class ChangeRequestTemplateStakeHoldersSerializer( class ChangeRequestTemplateStakeHoldersSerializer(
...@@ -19,7 +19,7 @@ class ChangeRequestTemplateStakeHoldersSerializer( ...@@ -19,7 +19,7 @@ class ChangeRequestTemplateStakeHoldersSerializer(
class Meta: class Meta:
model = models.ChangeRequestTemplateStakeHolders model = models.ChangeRequestTemplateStakeHolders
fields = '__all__' fields = '__all__'
read_only_fields = ['created', 'archived_at', 'code'] read_only_fields = ['created', 'code']
class ChangeRequestTemplateAttachmentsSerializer( class ChangeRequestTemplateAttachmentsSerializer(
...@@ -28,7 +28,7 @@ class ChangeRequestTemplateAttachmentsSerializer( ...@@ -28,7 +28,7 @@ class ChangeRequestTemplateAttachmentsSerializer(
class Meta: class Meta:
model = models.ChangeRequestTemplateAttachments model = models.ChangeRequestTemplateAttachments
fields = '__all__' fields = '__all__'
read_only_fields = ['created', 'archived_at', 'code'] read_only_fields = ['created', 'code']
class ChangeRequestTemplateDetailsSerializer( class ChangeRequestTemplateDetailsSerializer(
...@@ -37,20 +37,20 @@ class ChangeRequestTemplateDetailsSerializer( ...@@ -37,20 +37,20 @@ class ChangeRequestTemplateDetailsSerializer(
class Meta: class Meta:
model = models.ChangeRequestTemplateDetails model = models.ChangeRequestTemplateDetails
fields = '__all__' fields = '__all__'
read_only_fields = ['created', 'archived_at', 'code'] read_only_fields = ['created', 'code']
# comment
class ChangeRequestTemplatesSerializer( class ChangeRequestTemplatesSerializer(
WritableNestedModelSerializer serializers.ModelSerializer
): ):
tmp_approvers = ChangeRequestTemplateApproversSerializer( tmp_approvers = ChangeRequestTemplateApproversSerializer(
many=True, required=False) many=True, read_only=True)
tmp_stakes = ChangeRequestTemplateStakeHoldersSerializer( tmp_stakes = ChangeRequestTemplateStakeHoldersSerializer(
many=True, required=False) many=True, read_only=True)
tmp_attachments = ChangeRequestTemplateAttachmentsSerializer( tmp_attachments = ChangeRequestTemplateAttachmentsSerializer(
many=True, required=False) many=True, read_only=True)
tmp_details = ChangeRequestTemplateDetailsSerializer( tmp_details = ChangeRequestTemplateDetailsSerializer(
many=True, required=False) many=True, read_only=True)
class Meta: class Meta:
model = models.ChangeRequestTemplateHeader model = models.ChangeRequestTemplateHeader
...@@ -63,4 +63,4 @@ class ChangeRequestTemplatesSerializer( ...@@ -63,4 +63,4 @@ class ChangeRequestTemplatesSerializer(
'created_by_user', 'created_by_department', 'tmp_approvers', 'created_by_user', 'created_by_department', 'tmp_approvers',
'tmp_stakes', 'tmp_attachments', 'tmp_details') 'tmp_stakes', 'tmp_attachments', 'tmp_details')
read_only_fields = ['created', 'archived_at', 'template_no'] read_only_fields = ['created', 'template_no']
\ No newline at end of file \ No newline at end of file
...@@ -20,7 +20,9 @@ import requests ...@@ -20,7 +20,9 @@ import requests
from django.conf import settings from django.conf import settings
from rest_framework.exceptions import ValidationError from rest_framework.exceptions import ValidationError
from django.db import transaction, IntegrityError, connection from django.db import transaction, IntegrityError, connection
from app.applicationlayer.utils import QuerySetHelper, CustomPagination, status_message_response from app.applicationlayer.utils import (QuerySetHelper,
CustomPagination,
status_message_response)
from app.businesslayer.changerequest import change_request from app.businesslayer.changerequest import change_request
from app.applicationlayer.cms.utils_cr import ( from app.applicationlayer.cms.utils_cr import (
number_generator, crhistory_save, entity_log_bulk number_generator, crhistory_save, entity_log_bulk
...@@ -36,6 +38,9 @@ from django.db.models import Q ...@@ -36,6 +38,9 @@ from django.db.models import Q
from app.applicationlayer.management.account.serializer import ChangeRequestList from app.applicationlayer.management.account.serializer import ChangeRequestList
from app.applicationlayer.utils import log_save, CustomPagination from app.applicationlayer.utils import log_save, CustomPagination
from rest_framework.exceptions import ParseError from rest_framework.exceptions import ParseError
from app.businesslayer.changerequest.change_request_template import (
tmp_add_edit_delete
)
class UserList(APIView): class UserList(APIView):
...@@ -163,14 +168,14 @@ class ChangeRequestTemplatesViewset(meviewsets.ModelViewSet): ...@@ -163,14 +168,14 @@ class ChangeRequestTemplatesViewset(meviewsets.ModelViewSet):
approver, enum_approver, approver, enum_approver,
models.ChangeRequestTemplateApprovers models.ChangeRequestTemplateApprovers
) )
stake = models.ChangeRequestTemplateStakeHolders.objects.filter( stake = models.ChangeRequestTemplateStakeHolders.objects.filter(
template_no=template_no template_no=template_no
) )
if stake.count() > 0: if stake.count() > 0:
entity_log_bulk( entity_log_bulk(
approver, enum_stake, stake, enum_stake,
models.ChangeRequestTemplateStakeHolders models.ChangeRequestTemplateStakeHolders
) )
...@@ -180,7 +185,7 @@ class ChangeRequestTemplatesViewset(meviewsets.ModelViewSet): ...@@ -180,7 +185,7 @@ class ChangeRequestTemplatesViewset(meviewsets.ModelViewSet):
if attachment.count() > 0: if attachment.count() > 0:
entity_log_bulk( entity_log_bulk(
approver, enum_attach, attachment, enum_attach,
models.ChangeRequestTemplateAttachments models.ChangeRequestTemplateAttachments
) )
...@@ -190,18 +195,20 @@ class ChangeRequestTemplatesViewset(meviewsets.ModelViewSet): ...@@ -190,18 +195,20 @@ class ChangeRequestTemplatesViewset(meviewsets.ModelViewSet):
if details.count() > 0: if details.count() > 0:
entity_log_bulk( entity_log_bulk(
approver, enum_detail, details, enum_detail,
models.ChangeRequestTemplateDetails models.ChangeRequestTemplateDetails
) )
header = models.ChangeRequestTemplateHeader.objects.filter( header = models.ChangeRequestTemplateHeader.objects.filter(
template_no=template_no template_no=template_no
) )
if header.count() > 0: if header.count() > 0:
entity_log_bulk( entity_log_bulk(
approver, enum_header, header, enum_header,
models.ChangeRequestTemplateHeader models.ChangeRequestTemplateHeader
) )
return Response({"message": "Deleted"}, status=status.HTTP_200_OK) return Response({"message": "Deleted"}, status=status.HTTP_200_OK)
except Exception as e: except Exception as e:
return Response(e, return Response(e,
...@@ -214,78 +221,85 @@ class ChangeRequestTemplatesViewset(meviewsets.ModelViewSet): ...@@ -214,78 +221,85 @@ class ChangeRequestTemplatesViewset(meviewsets.ModelViewSet):
instance = self.get_object() instance = self.get_object()
template_no = kwargs['template_no'] template_no = kwargs['template_no']
body_data = request.data
tmp_no_exists = models.ChangeRequestFormHeader.objects.filter( tmp_no_exists = models.ChangeRequestFormHeader.objects.filter(
template_no=template_no) template_no=template_no)
if not tmp_no_exists: if not tmp_no_exists:
serializer = self.get_serializer(instance, data=request.data, partial=partial) serializer = self.get_serializer(instance,
data=request.data,
partial=partial)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(instance) old_instance = model_to_dict(instance)
self.perform_update(serializer) self.perform_update(serializer)
new_instance = serializer.data new_instance = serializer.data
# print(new_instance) log_save(
crhistory_save(
enums.LogEnum.UPDATE.value, enums.LogEnum.UPDATE.value,
enums.CREntitiesEnum.CR_TMP_HEADER.value, enums.LogEntitiesEnum.ChangeRequestTemplateHeader.value,
new_instance['template_no'], old_instance['id'],
old_instance, old_instance,
new_instance new_instance
) )
return Response(serializer.data) tmp_add_edit_delete(
body_data['tmp_approvers'],
return Response( models.ChangeRequestTemplateApprovers,
"Unable to edit due to existing transaction", enums.LogEntitiesEnum.ChangeRequestTemplateApprovers.value,
status=status.HTTP_400_BAD_REQUEST serializers.ChangeRequestTemplateApproversSerializer,
) partial,
self,
@action( template_no
methods=['PATCH'], detail=True, )
url_path='archived', url_name='archived'
)
def archived(self, request, *args, **kwargs):
template_no = kwargs['template_no']
tmp_no_exists = models.ChangeRequestFormHeader.objects.filter(
template_no=template_no)
if not tmp_no_exists:
models.ChangeRequestTemplateDetails.objects.filter(
template_no=template_no
).update(archived_at=datetime.now())
models.ChangeRequestTemplateAttachments.objects.filter( tmp_add_edit_delete(
template_no=template_no body_data['tmp_stakes'],
).update(archived_at=datetime.now()) models.ChangeRequestTemplateStakeHolders,
enums.LogEntitiesEnum.ChangeRequestTemplateStakeHolders.value,
models.ChangeRequestTemplateHeader.objects.filter( serializers.ChangeRequestTemplateStakeHoldersSerializer,
template_no=template_no partial,
).update(archived_at=datetime.now()) self,
template_no
)
models.ChangeRequestTemplateApprovers.objects.filter( tmp_add_edit_delete(
template_no=template_no body_data['tmp_attachments'],
).update(archived_at=datetime.now()) models.ChangeRequestTemplateAttachments,
enums.LogEntitiesEnum.ChangeRequestTemplateAttachments.value,
serializers.ChangeRequestTemplateAttachmentsSerializer,
partial,
self,
template_no
)
models.ChangeRequestTemplateStakeHolders.objects.filter( tmp_add_edit_delete(
template_no=template_no body_data['tmp_details'],
).update(archived_at=datetime.now()) models.ChangeRequestTemplateDetails,
enums.LogEntitiesEnum.ChangeRequestTemplateDetails.value,
serializers.ChangeRequestTemplateDetailsSerializer,
partial,
self,
template_no
)
serializer = self.get_serializer(instance)
return Response( message = status_message_response(
"Template successfully archived", 200, 'success',
status=status.HTTP_200_OK 'Change Request Template successfully updated',
serializer.data
) )
return Response(message, status=status.HTTP_200_OK)
return Response( return Response(
"Unable to archive due to existing transaction", "Unable to edit due to existing transaction",
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
class ChangeRequestTemplatePost(APIView): class ChangeRequestTemplatePost(APIView):
...@@ -413,17 +427,9 @@ class ChangeRequestTemplateApproversViewset(meviewsets.ModelViewSet): ...@@ -413,17 +427,9 @@ class ChangeRequestTemplateApproversViewset(meviewsets.ModelViewSet):
lookup_field = "code" lookup_field = "code"
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.queryset = self.queryset.filter(archived_at=None)
self.queryset = QuerySetHelper.Sort(self) self.queryset = QuerySetHelper.Sort(self)
return super(ChangeRequestTemplateApproversViewset, self).list(request) return super(ChangeRequestTemplateApproversViewset, self).list(request)
def retrieve(self, request, *args, **kwargs):
instance = self.queryset.filter(archived_at=None).first()
serializer = self.get_serializer(instance)
return Response(serializer.data)
class ChangeRequestTemplateAttachmentsViewset(meviewsets.ModelViewSet): class ChangeRequestTemplateAttachmentsViewset(meviewsets.ModelViewSet):
queryset = models.ChangeRequestTemplateAttachments.objects.all() queryset = models.ChangeRequestTemplateAttachments.objects.all()
...@@ -432,17 +438,11 @@ class ChangeRequestTemplateAttachmentsViewset(meviewsets.ModelViewSet): ...@@ -432,17 +438,11 @@ class ChangeRequestTemplateAttachmentsViewset(meviewsets.ModelViewSet):
lookup_field = "code" lookup_field = "code"
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.queryset = self.queryset.filter(archived_at=None)
self.queryset = QuerySetHelper.Sort(self) self.queryset = QuerySetHelper.Sort(self)
return super( return super(
ChangeRequestTemplateAttachmentsViewset, self ChangeRequestTemplateAttachmentsViewset, self
).list(request) ).list(request)
def retrieve(self, request, *args, **kwargs):
instance = self.queryset.filter(archived_at=None).first()
serializer = self.get_serializer(instance)
return Response(serializer.data)
class ChangeRequestTemplateStakeHoldersViewset(meviewsets.ModelViewSet): class ChangeRequestTemplateStakeHoldersViewset(meviewsets.ModelViewSet):
...@@ -452,16 +452,9 @@ class ChangeRequestTemplateStakeHoldersViewset(meviewsets.ModelViewSet): ...@@ -452,16 +452,9 @@ class ChangeRequestTemplateStakeHoldersViewset(meviewsets.ModelViewSet):
lookup_field = "code" lookup_field = "code"
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.queryset = self.queryset.filter(archived_at=None)
self.queryset = QuerySetHelper.Sort(self) self.queryset = QuerySetHelper.Sort(self)
return super(ChangeRequestTemplateStakeHoldersViewset, self).list(request) return super(ChangeRequestTemplateStakeHoldersViewset, self).list(request)
def retrieve(self, request, *args, **kwargs):
instance = self.queryset.filter(archived_at=None).first()
serializer = self.get_serializer(instance)
return Response(serializer.data)
class ChangeRequestTemplateDetailsViewset(meviewsets.ModelViewSet): class ChangeRequestTemplateDetailsViewset(meviewsets.ModelViewSet):
...@@ -471,12 +464,5 @@ class ChangeRequestTemplateDetailsViewset(meviewsets.ModelViewSet): ...@@ -471,12 +464,5 @@ class ChangeRequestTemplateDetailsViewset(meviewsets.ModelViewSet):
lookup_field = "code" lookup_field = "code"
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.queryset = self.queryset.filter(archived_at=None)
self.queryset = QuerySetHelper.Sort(self) self.queryset = QuerySetHelper.Sort(self)
return super(ChangeRequestTemplateDetailsViewset, self).list(request) return super(ChangeRequestTemplateDetailsViewset, self).list(request)
def retrieve(self, request, *args, **kwargs):
instance = self.queryset.filter(archived_at=None).first()
serializer = self.get_serializer(instance)
return Response(serializer.data)
\ No newline at end of file
...@@ -22,7 +22,7 @@ CR_FRONT_LINK = settings.CR_FRONT_LINK ...@@ -22,7 +22,7 @@ CR_FRONT_LINK = settings.CR_FRONT_LINK
def entity_log_bulk(queryset, entity, tbl): def entity_log_bulk(queryset, entity, tbl):
try: try:
print(entity) # print(entity)
for data in queryset: for data in queryset:
test = model_to_dict(data) test = model_to_dict(data)
log_save( log_save(
...@@ -427,4 +427,24 @@ def crhistory_save(batch_no, main_action, ...@@ -427,4 +427,24 @@ def crhistory_save(batch_no, main_action,
toValue=toValue toValue=toValue
) )
return True return True
\ No newline at end of file
def crhistory_log_bulk_delete(queryset, entity, tbl, form_code,
batch_no, main_action):
try:
# print(entity)
for data in queryset:
test = model_to_dict(data)
crhistory_save(batch_no,
main_action,
enums.CREnum.DELETED.value,
entity,
form_code,
test,
'')
tbl.objects.filter(id=test['id']).delete()
return True
except IntegrityError as exc:
raise APIException(detail=exc)
\ No newline at end of file
...@@ -13,6 +13,14 @@ from django.http import Http404 ...@@ -13,6 +13,14 @@ from django.http import Http404
from django.db.models import Q from django.db.models import Q
from app.applicationlayer.cms.utils_cr import (
number_generator, crhistory_save, entity_log_bulk, crhistory_log_bulk_delete
)
from django.forms.models import model_to_dict
from app.entities import enums, models
from app.applicationlayer.utils import log_save, CustomPagination
from app.applicationlayer.cms.template import serializers
def list_by_user(user_id_number): def list_by_user(user_id_number):
...@@ -242,3 +250,78 @@ def filter_awaiting(base_queryset, ...@@ -242,3 +250,78 @@ def filter_awaiting(base_queryset,
pass pass
return return_queryset return return_queryset
def form_add_edit_delete(form_request_body,
queryset,
entity,
serializer_data,
partial,
self,
form_code,
batch_no,
main_action):
# delete ids not in request body
request_ids = [i['id'] for i in form_request_body if "id" in i]
delete_query = queryset.objects.filter(
form_code=form_code
).exclude(
id__in=request_ids
)
if delete_query.count() > 0:
crhistory_log_bulk_delete(delete_query,
entity,
queryset,
form_code,
batch_no,
main_action
)
# update or create
for i in form_request_body:
if "id" in i:
frm_instance = queryset.objects.get(
pk=i['id']
)
serializer = serializer_data(frm_instance,
data=i,
partial=partial)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(frm_instance)
self.perform_update(serializer)
new_instance = serializer.data
crhistory_save(
batch_no,
main_action,
enums.CREnum.UPDATE.value,
entity,
form_code,
old_instance,
new_instance
)
else:
serializer = serializer_data(data=i)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
new_instance = serializer.data
crhistory_save(
batch_no,
main_action,
enums.CREnum.ADD.value,
entity,
form_code,
None,
new_instance
)
return True
\ No newline at end of file
from django.shortcuts import render
from app.entities import models
from app.applicationlayer import paginators
from datetime import datetime
from rest_framework.response import Response
from rest_framework import status, views
from rest_framework.decorators import action
from django.http import Http404
from django.db.models import Q
from app.applicationlayer.cms.utils_cr import (
number_generator, crhistory_save, entity_log_bulk
)
from django.forms.models import model_to_dict
from app.entities import enums, models
from app.applicationlayer.utils import log_save, CustomPagination
from app.applicationlayer.cms.template import serializers
def tmp_add_edit_delete(tmp_request_body,
queryset,
enum_type,
serializer_data,
partial,
self,
template_no):
# delete ids not in request body
request_ids = [i['id'] for i in tmp_request_body if "id" in i]
delete_query = queryset.objects.filter(
template_no=template_no
).exclude(
id__in=request_ids
)
if delete_query.count() > 0:
entity_log_bulk(
delete_query,
enum_type,
queryset
)
# update or create
for i in tmp_request_body:
if "id" in i:
tmp_instance = queryset.objects.get(
pk=i['id']
)
serializer = serializer_data(tmp_instance,
data=i,
partial=partial)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(tmp_instance)
self.perform_update(serializer)
new_instance = serializer.data
log_save(
enums.LogEnum.UPDATE.value,
enum_type,
i['id'],
old_instance,
new_instance
)
else:
serializer = serializer_data(data=i)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
new_instance = serializer.data
log_save(
enums.LogEnum.ADD.value,
enum_type,
new_instance['id'],
'',
new_instance
)
return True
# Generated by Django 2.2 on 2019-09-24 12:06
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('entities', '0006_auto_20190920_1623'),
]
operations = [
migrations.RemoveField(
model_name='changerequesttemplateapprovers',
name='archived_at',
),
migrations.RemoveField(
model_name='changerequesttemplateattachments',
name='archived_at',
),
migrations.RemoveField(
model_name='changerequesttemplatedetails',
name='archived_at',
),
migrations.RemoveField(
model_name='changerequesttemplateheader',
name='archived_at',
),
migrations.RemoveField(
model_name='changerequesttemplatestakeholders',
name='archived_at',
),
]
...@@ -508,10 +508,6 @@ class ChangeRequestTemplateHeader(BaseHeader): ...@@ -508,10 +508,6 @@ class ChangeRequestTemplateHeader(BaseHeader):
blank=True, blank=True,
null=True) null=True)
archived_at = models.DateTimeField(
blank=True,
null=True)
class Meta: class Meta:
db_table = 'change_request_template_headers' db_table = 'change_request_template_headers'
...@@ -526,10 +522,6 @@ class ChangeRequestTemplateHeader(BaseHeader): ...@@ -526,10 +522,6 @@ class ChangeRequestTemplateHeader(BaseHeader):
self.template_no = code self.template_no = code
self.save() self.save()
def delete(self):
self.archived_at = datetime.utcnow
self.save()
class ChangeRequestTemplateApprovers(BaseApprover): class ChangeRequestTemplateApprovers(BaseApprover):
code = models.CharField( code = models.CharField(
...@@ -540,10 +532,7 @@ class ChangeRequestTemplateApprovers(BaseApprover): ...@@ -540,10 +532,7 @@ class ChangeRequestTemplateApprovers(BaseApprover):
on_delete=models.DO_NOTHING, on_delete=models.DO_NOTHING,
to_field='template_no', to_field='template_no',
related_name='tmp_approvers') related_name='tmp_approvers')
archived_at = models.DateTimeField(
blank=True,
null=True)
class Meta: class Meta:
db_table = 'change_request_template_approvers' db_table = 'change_request_template_approvers'
...@@ -559,9 +548,6 @@ class ChangeRequestTemplateApprovers(BaseApprover): ...@@ -559,9 +548,6 @@ class ChangeRequestTemplateApprovers(BaseApprover):
self.created = datetime.now() self.created = datetime.now()
self.save() self.save()
def delete(self):
self.archived_at = datetime.utcnow
self.save()
class ChangeRequestTemplateStakeHolders(BaseStakeholder): class ChangeRequestTemplateStakeHolders(BaseStakeholder):
code = models.CharField( code = models.CharField(
...@@ -572,10 +558,7 @@ class ChangeRequestTemplateStakeHolders(BaseStakeholder): ...@@ -572,10 +558,7 @@ class ChangeRequestTemplateStakeHolders(BaseStakeholder):
on_delete=models.DO_NOTHING, on_delete=models.DO_NOTHING,
to_field='template_no', to_field='template_no',
related_name='tmp_stakes') related_name='tmp_stakes')
archived_at = models.DateTimeField(
blank=True,
null=True)
class Meta: class Meta:
db_table = 'change_request_template_stakeholders' db_table = 'change_request_template_stakeholders'
...@@ -590,10 +573,6 @@ class ChangeRequestTemplateStakeHolders(BaseStakeholder): ...@@ -590,10 +573,6 @@ class ChangeRequestTemplateStakeHolders(BaseStakeholder):
self.code = code self.code = code
self.created = datetime.now() self.created = datetime.now()
self.save() self.save()
def delete(self):
self.archived_at = datetime.utcnow
self.save()
class ChangeRequestTemplateAttachments(BaseAttachment): class ChangeRequestTemplateAttachments(BaseAttachment):
...@@ -605,9 +584,6 @@ class ChangeRequestTemplateAttachments(BaseAttachment): ...@@ -605,9 +584,6 @@ class ChangeRequestTemplateAttachments(BaseAttachment):
on_delete=models.DO_NOTHING, on_delete=models.DO_NOTHING,
to_field='template_no', to_field='template_no',
related_name='tmp_attachments') related_name='tmp_attachments')
archived_at = models.DateTimeField(
blank=True,
null=True)
class Meta: class Meta:
db_table = 'change_request_template_attachments' db_table = 'change_request_template_attachments'
...@@ -624,10 +600,6 @@ class ChangeRequestTemplateAttachments(BaseAttachment): ...@@ -624,10 +600,6 @@ class ChangeRequestTemplateAttachments(BaseAttachment):
self.created = datetime.now() self.created = datetime.now()
self.save() self.save()
def delete(self):
self.archived_at = datetime.utcnow
self.save()
class ChangeRequestTemplateDetails(BaseDetails): class ChangeRequestTemplateDetails(BaseDetails):
code = models.CharField( code = models.CharField(
...@@ -638,10 +610,7 @@ class ChangeRequestTemplateDetails(BaseDetails): ...@@ -638,10 +610,7 @@ class ChangeRequestTemplateDetails(BaseDetails):
on_delete=models.DO_NOTHING, on_delete=models.DO_NOTHING,
to_field='template_no', to_field='template_no',
related_name='tmp_details') related_name='tmp_details')
archived_at = models.DateTimeField(
blank=True,
null=True)
class Meta: class Meta:
db_table = 'change_request_template_details' db_table = 'change_request_template_details'
...@@ -657,10 +626,6 @@ class ChangeRequestTemplateDetails(BaseDetails): ...@@ -657,10 +626,6 @@ class ChangeRequestTemplateDetails(BaseDetails):
self.created = datetime.now() self.created = datetime.now()
self.save() self.save()
def delete(self):
self.archived_at = datetime.utcnow
self.save()
''' '''
***** *****
FORMS FORMS
......
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