Commit bc47cf98 authored by Gladys Forte's avatar Gladys Forte

template upfdate

parent 243729f3
......@@ -257,44 +257,48 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
def retrieve(self, request, *args, **kwargs):
instance = self.queryset.filter(
deleted_at=None,
archived_at=None,
form_code=str(self.kwargs.get('form_code'))
).first()
serializer = self.get_serializer(instance)
return Response(serializer.data)
@action(detail=True,
methods=['get'],
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)
@transaction.atomic
def partial_update(self, request, *args, **kwargs):
for frmitem in models.ChangeRequestFormHeader.objects.filter(old_form_code__ne=None).order_by('created'):
if frmitem.form_code == form_code:
form_code_list.append(frmitem.old_form_code)
form_code = frmitem.old_form_code
partial = kwargs.pop('partial', False)
instance = self.get_object()
template_no = kwargs['template_no']
tmp_no_exists = models.ChangeRequestFormHeader.objects.filter(
template_no=template_no)
# remove duplicates
mylist = list(dict.fromkeys(form_code_list))
print(mylist)
if not tmp_no_exists:
serializer = self.get_serializer(instance, data=request.data, partial=partial)
serializer.is_valid(raise_exception=True)
queryset = models.ChangeRequestFormApprovers.objects.filter(
(Q(action__ne=None) & Q(action__ne='')),
form_code__in=mylist).order_by('created')
old_instance = model_to_dict(instance)
self.perform_update(serializer)
new_instance = serializer.data
self.serializer_class = serializers.ChangeRequestFormApproversSerializer
# print(new_instance)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
crhistory_save(
enums.LogEnum.UPDATE.value,
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):
......@@ -334,10 +338,10 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
# if ObjectId:
# dbExisting = models.ChangeRequestFormApprovers.objects.filter(
# id=ObjectId,
# deleted_at=None).first()
# archived_at=None).first()
# if dbExisting:
# dbExisting.deleted_at = datetime.now()
# dbExisting.archived_at = datetime.now()
# dbExisting.save()
# # x = self.perform_create(serializer)
......@@ -371,7 +375,7 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
current_remarks = instance.remarks
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
......@@ -398,13 +402,13 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
next_approver = models.ChangeRequestFormApprovers.objects.filter(
level=str(next_level),
form_code=form_code,
deleted_at=None
archived_at=None
)
if action.lower() == 'approved':
models.ChangeRequestFormApprovers.objects.filter(
Q(deleted_at=None) & Q(level=str(next_level))
Q(archived_at=None) & Q(level=str(next_level))
).update(
date_sent=datetime.now().strftime('%Y-%m-%d, %H:%M:%S')
)
......@@ -461,7 +465,7 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
elif action.lower() == 'completed':
models.ChangeRequestFormApprovers.objects.filter(
Q(deleted_at=None) & Q(level=str(next_level))
Q(archived_at=None) & Q(level=str(next_level))
).update(
date_sent=datetime.now().strftime('%Y-%m-%d, %H:%M:%S')
)
......@@ -519,13 +523,13 @@ class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
#------------
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.Filter(self)
return super(ChangeRequestFormApproversViewset, self).list(request)
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)
return Response(serializer.data)
......@@ -536,7 +540,7 @@ class ChangeRequestFormAttachmentsViewset(meviewsets.ModelViewSet):
pagination_class = paginators.SimplePageNumberPagination
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.Filter(self)
return super(
......@@ -552,10 +556,10 @@ class ChangeRequestFormAttachmentsViewset(meviewsets.ModelViewSet):
if ObjectId:
dbExisting = models.ChangeRequestFormAttachments.objects.filter(
id=ObjectId,
deleted_at=None).first()
archived_at=None).first()
if dbExisting:
dbExisting.deleted_at = datetime.now()
dbExisting.archived_at = datetime.now()
dbExisting.save()
self.perform_create(serializer)
......@@ -578,7 +582,7 @@ class ChangeRequestFormAttachmentsViewset(meviewsets.ModelViewSet):
)
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)
return Response(serializer.data)
......@@ -590,7 +594,7 @@ class ChangeRequestFormStakeHoldersViewset(meviewsets.ModelViewSet):
pagination_class = paginators.SimplePageNumberPagination
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.Filter(self)
return super(ChangeRequestFormStakeHoldersViewset, self).list(request)
......@@ -603,10 +607,10 @@ class ChangeRequestFormStakeHoldersViewset(meviewsets.ModelViewSet):
if ObjectId:
dbExisting = models.ChangeRequestFormStakeHolders.objects.filter(
id=ObjectId,
deleted_at=None).first()
archived_at=None).first()
if dbExisting:
dbExisting.deleted_at = datetime.now()
dbExisting.archived_at = datetime.now()
dbExisting.save()
self.perform_create(serializer)
......@@ -619,7 +623,7 @@ class ChangeRequestFormStakeHoldersViewset(meviewsets.ModelViewSet):
)
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)
return Response(serializer.data)
......@@ -631,7 +635,7 @@ class ChangeRequestFormDetailsViewset(meviewsets.ModelViewSet):
pagination_class = paginators.SimplePageNumberPagination
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.Filter(self)
return super(ChangeRequestFormDetailsViewset, self).list(request)
......@@ -644,10 +648,10 @@ class ChangeRequestFormDetailsViewset(meviewsets.ModelViewSet):
if ObjectId:
dbExisting = models.ChangeRequestFormDetails.objects.filter(
id=ObjectId,
deleted_at=None).first()
archived_at=None).first()
if dbExisting:
dbExisting.deleted_at = datetime.now()
dbExisting.archived_at = datetime.now()
dbExisting.save()
self.perform_create(serializer)
......@@ -660,7 +664,7 @@ class ChangeRequestFormDetailsViewset(meviewsets.ModelViewSet):
)
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)
return Response(serializer.data)
......
......@@ -43,10 +43,14 @@ class ChangeRequestTemplateDetailsSerializer(
class ChangeRequestTemplatesSerializer(
WritableNestedModelSerializer
):
tmp_approvers = ChangeRequestTemplateApproversSerializer(many=True)
tmp_stakes = ChangeRequestTemplateStakeHoldersSerializer(many=True)
tmp_attachments = ChangeRequestTemplateAttachmentsSerializer(many=True)
tmp_details = ChangeRequestTemplateDetailsSerializer(many=True)
tmp_approvers = ChangeRequestTemplateApproversSerializer(
many=True, required=False)
tmp_stakes = ChangeRequestTemplateStakeHoldersSerializer(
many=True, required=False)
tmp_attachments = ChangeRequestTemplateAttachmentsSerializer(
many=True, required=False)
tmp_details = ChangeRequestTemplateDetailsSerializer(
many=True, required=False)
class Meta:
model = models.ChangeRequestTemplateHeader
......@@ -58,6 +62,5 @@ class ChangeRequestTemplatesSerializer(
'requested_to_department', 'requested_to_user',
'created_by_user', 'created_by_department', 'tmp_approvers',
'tmp_stakes', 'tmp_attachments', 'tmp_details')
read_only_fields = ['created', 'deleted_at', 'template_no']
\ No newline at end of file
read_only_fields = ['created', 'deleted_at', 'template_no']
\ 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):
created = models.DateTimeField(auto_now_add=True)
deleted_at = models.DateTimeField(
archived_at = models.DateTimeField(
blank=True,
null=True)
......@@ -398,7 +398,7 @@ class BaseApprover(models.Model):
created = models.DateTimeField(
blank=True,
null=True)
deleted_at = models.DateTimeField(
archived_at = models.DateTimeField(
blank=True,
null=True)
......@@ -420,7 +420,7 @@ class BaseStakeholder(models.Model):
created = models.DateTimeField(
blank=True,
null=True)
deleted_at = models.DateTimeField(
archived_at = models.DateTimeField(
blank=True,
null=True)
......@@ -451,7 +451,7 @@ class BaseAttachment(models.Model):
created = models.DateTimeField(
blank=True,
null=True)
deleted_at = models.DateTimeField(
archived_at = models.DateTimeField(
blank=True,
null=True)
......@@ -468,7 +468,7 @@ class BaseDetails(models.Model):
created = models.DateTimeField(
blank=True,
null=True)
deleted_at = models.DateTimeField(
archived_at = models.DateTimeField(
blank=True,
null=True)
......@@ -518,7 +518,7 @@ class ChangeRequestTemplateHeader(BaseHeader):
self.save()
def delete(self):
self.deleted_at = datetime.utcnow
self.archived_at = datetime.utcnow
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