Commit bc47cf98 authored by Gladys Forte's avatar Gladys Forte

template upfdate

parent 243729f3
...@@ -257,44 +257,48 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -257,44 +257,48 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
def retrieve(self, request, *args, **kwargs): def retrieve(self, request, *args, **kwargs):
instance = self.queryset.filter( instance = self.queryset.filter(
deleted_at=None, archived_at=None,
form_code=str(self.kwargs.get('form_code')) form_code=str(self.kwargs.get('form_code'))
).first() ).first()
serializer = self.get_serializer(instance) serializer = self.get_serializer(instance)
return Response(serializer.data) return Response(serializer.data)
@action(detail=True, @transaction.atomic
methods=['get'], def partial_update(self, request, *args, **kwargs):
url_path='history',
name="CR History")
def list_cr_history(self, request, form_code=None, **kwargs):
form_code = self.kwargs['form_code']
form_code_list = []
form_code_list.append(form_code)
for frmitem in models.ChangeRequestFormHeader.objects.filter(old_form_code__ne=None).order_by('created'): partial = kwargs.pop('partial', False)
instance = self.get_object()
if frmitem.form_code == form_code:
form_code_list.append(frmitem.old_form_code) template_no = kwargs['template_no']
form_code = frmitem.old_form_code
tmp_no_exists = models.ChangeRequestFormHeader.objects.filter(
template_no=template_no)
# remove duplicates if not tmp_no_exists:
mylist = list(dict.fromkeys(form_code_list)) serializer = self.get_serializer(instance, data=request.data, partial=partial)
print(mylist) serializer.is_valid(raise_exception=True)
queryset = models.ChangeRequestFormApprovers.objects.filter( old_instance = model_to_dict(instance)
(Q(action__ne=None) & Q(action__ne='')), self.perform_update(serializer)
form_code__in=mylist).order_by('created') new_instance = serializer.data
self.serializer_class = serializers.ChangeRequestFormApproversSerializer # print(new_instance)
page = self.paginate_queryset(queryset) crhistory_save(
if page is not None: enums.LogEnum.UPDATE.value,
serializer = self.get_serializer(page, many=True) enums.CREntitiesEnum.CR_TMP_HEADER.value,
new_instance['template_no'],
old_instance,
new_instance
)
return self.get_paginated_response(serializer.data) return Response(serializer.data)
return Response(
"Template cannot edit due to existing transaction/s",
status=status.HTTP_400_BAD_REQUEST
)
class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet): class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
...@@ -334,10 +338,10 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet): ...@@ -334,10 +338,10 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
# if ObjectId: # if ObjectId:
# dbExisting = models.ChangeRequestFormApprovers.objects.filter( # dbExisting = models.ChangeRequestFormApprovers.objects.filter(
# id=ObjectId, # id=ObjectId,
# deleted_at=None).first() # archived_at=None).first()
# if dbExisting: # if dbExisting:
# dbExisting.deleted_at = datetime.now() # dbExisting.archived_at = datetime.now()
# dbExisting.save() # dbExisting.save()
# # x = self.perform_create(serializer) # # x = self.perform_create(serializer)
...@@ -371,7 +375,7 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet): ...@@ -371,7 +375,7 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
current_remarks = instance.remarks current_remarks = instance.remarks
instance.update( instance.update(
set__deleted_at=datetime.utcnow() set__archived_at=datetime.utcnow()
) )
request.data['created'] = datetime.now().strftime('%Y-%m-%d, %H:%M:%S') # correct request.data['created'] = datetime.now().strftime('%Y-%m-%d, %H:%M:%S') # correct
...@@ -398,13 +402,13 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet): ...@@ -398,13 +402,13 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
next_approver = models.ChangeRequestFormApprovers.objects.filter( next_approver = models.ChangeRequestFormApprovers.objects.filter(
level=str(next_level), level=str(next_level),
form_code=form_code, form_code=form_code,
deleted_at=None archived_at=None
) )
if action.lower() == 'approved': if action.lower() == 'approved':
models.ChangeRequestFormApprovers.objects.filter( models.ChangeRequestFormApprovers.objects.filter(
Q(deleted_at=None) & Q(level=str(next_level)) Q(archived_at=None) & Q(level=str(next_level))
).update( ).update(
date_sent=datetime.now().strftime('%Y-%m-%d, %H:%M:%S') date_sent=datetime.now().strftime('%Y-%m-%d, %H:%M:%S')
) )
...@@ -461,7 +465,7 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet): ...@@ -461,7 +465,7 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
elif action.lower() == 'completed': elif action.lower() == 'completed':
models.ChangeRequestFormApprovers.objects.filter( models.ChangeRequestFormApprovers.objects.filter(
Q(deleted_at=None) & Q(level=str(next_level)) Q(archived_at=None) & Q(level=str(next_level))
).update( ).update(
date_sent=datetime.now().strftime('%Y-%m-%d, %H:%M:%S') date_sent=datetime.now().strftime('%Y-%m-%d, %H:%M:%S')
) )
...@@ -519,13 +523,13 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet): ...@@ -519,13 +523,13 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
#------------ #------------
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.queryset = self.queryset.filter(deleted_at=None) self.queryset = self.queryset.filter(archived_at=None)
self.queryset = QuerySetHelper.Sort(self) self.queryset = QuerySetHelper.Sort(self)
self.queryset = QuerySetHelper.Filter(self) self.queryset = QuerySetHelper.Filter(self)
return super(ChangeRequestFormApproversViewset, self).list(request) return super(ChangeRequestFormApproversViewset, self).list(request)
def retrieve(self, request, *args, **kwargs): def retrieve(self, request, *args, **kwargs):
instance = self.queryset.filter(deleted_at=None).first() instance = self.queryset.filter(archived_at=None).first()
serializer = self.get_serializer(instance) serializer = self.get_serializer(instance)
return Response(serializer.data) return Response(serializer.data)
...@@ -536,7 +540,7 @@ class ChangeRequestFormAttachmentsViewset(meviewsets.ModelViewSet): ...@@ -536,7 +540,7 @@ class ChangeRequestFormAttachmentsViewset(meviewsets.ModelViewSet):
pagination_class = paginators.SimplePageNumberPagination pagination_class = paginators.SimplePageNumberPagination
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.queryset = self.queryset.filter(deleted_at=None) self.queryset = self.queryset.filter(archived_at=None)
self.queryset = QuerySetHelper.Sort(self) self.queryset = QuerySetHelper.Sort(self)
self.queryset = QuerySetHelper.Filter(self) self.queryset = QuerySetHelper.Filter(self)
return super( return super(
...@@ -552,10 +556,10 @@ class ChangeRequestFormAttachmentsViewset(meviewsets.ModelViewSet): ...@@ -552,10 +556,10 @@ class ChangeRequestFormAttachmentsViewset(meviewsets.ModelViewSet):
if ObjectId: if ObjectId:
dbExisting = models.ChangeRequestFormAttachments.objects.filter( dbExisting = models.ChangeRequestFormAttachments.objects.filter(
id=ObjectId, id=ObjectId,
deleted_at=None).first() archived_at=None).first()
if dbExisting: if dbExisting:
dbExisting.deleted_at = datetime.now() dbExisting.archived_at = datetime.now()
dbExisting.save() dbExisting.save()
self.perform_create(serializer) self.perform_create(serializer)
...@@ -578,7 +582,7 @@ class ChangeRequestFormAttachmentsViewset(meviewsets.ModelViewSet): ...@@ -578,7 +582,7 @@ class ChangeRequestFormAttachmentsViewset(meviewsets.ModelViewSet):
) )
def retrieve(self, request, *args, **kwargs): def retrieve(self, request, *args, **kwargs):
instance = self.queryset.filter(deleted_at=None).first() instance = self.queryset.filter(archived_at=None).first()
serializer = self.get_serializer(instance) serializer = self.get_serializer(instance)
return Response(serializer.data) return Response(serializer.data)
...@@ -590,7 +594,7 @@ class ChangeRequestFormStakeHoldersViewset(meviewsets.ModelViewSet): ...@@ -590,7 +594,7 @@ class ChangeRequestFormStakeHoldersViewset(meviewsets.ModelViewSet):
pagination_class = paginators.SimplePageNumberPagination pagination_class = paginators.SimplePageNumberPagination
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.queryset = self.queryset.filter(deleted_at=None) self.queryset = self.queryset.filter(archived_at=None)
self.queryset = QuerySetHelper.Sort(self) self.queryset = QuerySetHelper.Sort(self)
self.queryset = QuerySetHelper.Filter(self) self.queryset = QuerySetHelper.Filter(self)
return super(ChangeRequestFormStakeHoldersViewset, self).list(request) return super(ChangeRequestFormStakeHoldersViewset, self).list(request)
...@@ -603,10 +607,10 @@ class ChangeRequestFormStakeHoldersViewset(meviewsets.ModelViewSet): ...@@ -603,10 +607,10 @@ class ChangeRequestFormStakeHoldersViewset(meviewsets.ModelViewSet):
if ObjectId: if ObjectId:
dbExisting = models.ChangeRequestFormStakeHolders.objects.filter( dbExisting = models.ChangeRequestFormStakeHolders.objects.filter(
id=ObjectId, id=ObjectId,
deleted_at=None).first() archived_at=None).first()
if dbExisting: if dbExisting:
dbExisting.deleted_at = datetime.now() dbExisting.archived_at = datetime.now()
dbExisting.save() dbExisting.save()
self.perform_create(serializer) self.perform_create(serializer)
...@@ -619,7 +623,7 @@ class ChangeRequestFormStakeHoldersViewset(meviewsets.ModelViewSet): ...@@ -619,7 +623,7 @@ class ChangeRequestFormStakeHoldersViewset(meviewsets.ModelViewSet):
) )
def retrieve(self, request, *args, **kwargs): def retrieve(self, request, *args, **kwargs):
instance = self.queryset.filter(deleted_at=None).first() instance = self.queryset.filter(archived_at=None).first()
serializer = self.get_serializer(instance) serializer = self.get_serializer(instance)
return Response(serializer.data) return Response(serializer.data)
...@@ -631,7 +635,7 @@ class ChangeRequestFormDetailsViewset(meviewsets.ModelViewSet): ...@@ -631,7 +635,7 @@ class ChangeRequestFormDetailsViewset(meviewsets.ModelViewSet):
pagination_class = paginators.SimplePageNumberPagination pagination_class = paginators.SimplePageNumberPagination
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.queryset = self.queryset.filter(deleted_at=None) self.queryset = self.queryset.filter(archived_at=None)
self.queryset = QuerySetHelper.Sort(self) self.queryset = QuerySetHelper.Sort(self)
self.queryset = QuerySetHelper.Filter(self) self.queryset = QuerySetHelper.Filter(self)
return super(ChangeRequestFormDetailsViewset, self).list(request) return super(ChangeRequestFormDetailsViewset, self).list(request)
...@@ -644,10 +648,10 @@ class ChangeRequestFormDetailsViewset(meviewsets.ModelViewSet): ...@@ -644,10 +648,10 @@ class ChangeRequestFormDetailsViewset(meviewsets.ModelViewSet):
if ObjectId: if ObjectId:
dbExisting = models.ChangeRequestFormDetails.objects.filter( dbExisting = models.ChangeRequestFormDetails.objects.filter(
id=ObjectId, id=ObjectId,
deleted_at=None).first() archived_at=None).first()
if dbExisting: if dbExisting:
dbExisting.deleted_at = datetime.now() dbExisting.archived_at = datetime.now()
dbExisting.save() dbExisting.save()
self.perform_create(serializer) self.perform_create(serializer)
...@@ -660,7 +664,7 @@ class ChangeRequestFormDetailsViewset(meviewsets.ModelViewSet): ...@@ -660,7 +664,7 @@ class ChangeRequestFormDetailsViewset(meviewsets.ModelViewSet):
) )
def retrieve(self, request, *args, **kwargs): def retrieve(self, request, *args, **kwargs):
instance = self.queryset.filter(deleted_at=None).first() instance = self.queryset.filter(archived_at=None).first()
serializer = self.get_serializer(instance) serializer = self.get_serializer(instance)
return Response(serializer.data) return Response(serializer.data)
......
...@@ -43,10 +43,14 @@ class ChangeRequestTemplateDetailsSerializer( ...@@ -43,10 +43,14 @@ class ChangeRequestTemplateDetailsSerializer(
class ChangeRequestTemplatesSerializer( class ChangeRequestTemplatesSerializer(
WritableNestedModelSerializer WritableNestedModelSerializer
): ):
tmp_approvers = ChangeRequestTemplateApproversSerializer(many=True) tmp_approvers = ChangeRequestTemplateApproversSerializer(
tmp_stakes = ChangeRequestTemplateStakeHoldersSerializer(many=True) many=True, required=False)
tmp_attachments = ChangeRequestTemplateAttachmentsSerializer(many=True) tmp_stakes = ChangeRequestTemplateStakeHoldersSerializer(
tmp_details = ChangeRequestTemplateDetailsSerializer(many=True) many=True, required=False)
tmp_attachments = ChangeRequestTemplateAttachmentsSerializer(
many=True, required=False)
tmp_details = ChangeRequestTemplateDetailsSerializer(
many=True, required=False)
class Meta: class Meta:
model = models.ChangeRequestTemplateHeader model = models.ChangeRequestTemplateHeader
...@@ -58,6 +62,5 @@ class ChangeRequestTemplatesSerializer( ...@@ -58,6 +62,5 @@ class ChangeRequestTemplatesSerializer(
'requested_to_department', 'requested_to_user', 'requested_to_department', 'requested_to_user',
'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', 'deleted_at', 'template_no'] read_only_fields = ['created', 'deleted_at', 'template_no']
\ No newline at end of file
\ No newline at end of file
This diff is collapsed.
# Generated by Django 2.2 on 2019-09-11 17:15
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('entities', '0007_auto_20190911_1102'),
]
operations = [
migrations.AlterField(
model_name='changerequesthistory',
name='form_code',
field=models.CharField(blank=True, max_length=255, null=True),
),
]
# Generated by Django 2.2 on 2019-09-11 18:45
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('entities', '0008_auto_20190911_1715'),
]
operations = [
migrations.RenameField(
model_name='changerequestformapprovers',
old_name='deleted_at',
new_name='archived_at',
),
migrations.RenameField(
model_name='changerequestformattachments',
old_name='deleted_at',
new_name='archived_at',
),
migrations.RenameField(
model_name='changerequestformdetails',
old_name='deleted_at',
new_name='archived_at',
),
migrations.RenameField(
model_name='changerequestformheader',
old_name='deleted_at',
new_name='archived_at',
),
migrations.RenameField(
model_name='changerequestformstakeholders',
old_name='deleted_at',
new_name='archived_at',
),
migrations.RenameField(
model_name='changerequesttemplateapprovers',
old_name='deleted_at',
new_name='archived_at',
),
migrations.RenameField(
model_name='changerequesttemplateattachments',
old_name='deleted_at',
new_name='archived_at',
),
migrations.RenameField(
model_name='changerequesttemplatedetails',
old_name='deleted_at',
new_name='archived_at',
),
migrations.RenameField(
model_name='changerequesttemplateheader',
old_name='deleted_at',
new_name='archived_at',
),
migrations.RenameField(
model_name='changerequesttemplatestakeholders',
old_name='deleted_at',
new_name='archived_at',
),
]
...@@ -373,7 +373,7 @@ class BaseHeader(models.Model): ...@@ -373,7 +373,7 @@ class BaseHeader(models.Model):
created = models.DateTimeField(auto_now_add=True) created = models.DateTimeField(auto_now_add=True)
deleted_at = models.DateTimeField( archived_at = models.DateTimeField(
blank=True, blank=True,
null=True) null=True)
...@@ -398,7 +398,7 @@ class BaseApprover(models.Model): ...@@ -398,7 +398,7 @@ class BaseApprover(models.Model):
created = models.DateTimeField( created = models.DateTimeField(
blank=True, blank=True,
null=True) null=True)
deleted_at = models.DateTimeField( archived_at = models.DateTimeField(
blank=True, blank=True,
null=True) null=True)
...@@ -420,7 +420,7 @@ class BaseStakeholder(models.Model): ...@@ -420,7 +420,7 @@ class BaseStakeholder(models.Model):
created = models.DateTimeField( created = models.DateTimeField(
blank=True, blank=True,
null=True) null=True)
deleted_at = models.DateTimeField( archived_at = models.DateTimeField(
blank=True, blank=True,
null=True) null=True)
...@@ -451,7 +451,7 @@ class BaseAttachment(models.Model): ...@@ -451,7 +451,7 @@ class BaseAttachment(models.Model):
created = models.DateTimeField( created = models.DateTimeField(
blank=True, blank=True,
null=True) null=True)
deleted_at = models.DateTimeField( archived_at = models.DateTimeField(
blank=True, blank=True,
null=True) null=True)
...@@ -468,7 +468,7 @@ class BaseDetails(models.Model): ...@@ -468,7 +468,7 @@ class BaseDetails(models.Model):
created = models.DateTimeField( created = models.DateTimeField(
blank=True, blank=True,
null=True) null=True)
deleted_at = models.DateTimeField( archived_at = models.DateTimeField(
blank=True, blank=True,
null=True) null=True)
...@@ -518,7 +518,7 @@ class ChangeRequestTemplateHeader(BaseHeader): ...@@ -518,7 +518,7 @@ class ChangeRequestTemplateHeader(BaseHeader):
self.save() self.save()
def delete(self): def delete(self):
self.deleted_at = datetime.utcnow self.archived_at = datetime.utcnow
self.save() self.save()
......
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