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
This diff is collapsed.
......@@ -10,7 +10,7 @@ class ChangeRequestTemplateApproversSerializer(
class Meta:
model = models.ChangeRequestTemplateApprovers
fields = '__all__'
read_only_fields = ['created', 'archived_at', 'code']
read_only_fields = ['created', 'code']
class ChangeRequestTemplateStakeHoldersSerializer(
......@@ -19,7 +19,7 @@ class ChangeRequestTemplateStakeHoldersSerializer(
class Meta:
model = models.ChangeRequestTemplateStakeHolders
fields = '__all__'
read_only_fields = ['created', 'archived_at', 'code']
read_only_fields = ['created', 'code']
class ChangeRequestTemplateAttachmentsSerializer(
......@@ -28,7 +28,7 @@ class ChangeRequestTemplateAttachmentsSerializer(
class Meta:
model = models.ChangeRequestTemplateAttachments
fields = '__all__'
read_only_fields = ['created', 'archived_at', 'code']
read_only_fields = ['created', 'code']
class ChangeRequestTemplateDetailsSerializer(
......@@ -37,20 +37,20 @@ class ChangeRequestTemplateDetailsSerializer(
class Meta:
model = models.ChangeRequestTemplateDetails
fields = '__all__'
read_only_fields = ['created', 'archived_at', 'code']
read_only_fields = ['created', 'code']
# comment
class ChangeRequestTemplatesSerializer(
WritableNestedModelSerializer
serializers.ModelSerializer
):
tmp_approvers = ChangeRequestTemplateApproversSerializer(
many=True, required=False)
many=True, read_only=True)
tmp_stakes = ChangeRequestTemplateStakeHoldersSerializer(
many=True, required=False)
many=True, read_only=True)
tmp_attachments = ChangeRequestTemplateAttachmentsSerializer(
many=True, required=False)
many=True, read_only=True)
tmp_details = ChangeRequestTemplateDetailsSerializer(
many=True, required=False)
many=True, read_only=True)
class Meta:
model = models.ChangeRequestTemplateHeader
......@@ -63,4 +63,4 @@ class ChangeRequestTemplatesSerializer(
'created_by_user', 'created_by_department', 'tmp_approvers',
'tmp_stakes', 'tmp_attachments', 'tmp_details')
read_only_fields = ['created', 'archived_at', 'template_no']
\ No newline at end of file
read_only_fields = ['created', 'template_no']
\ No newline at end of file
This diff is collapsed.
......@@ -22,7 +22,7 @@ CR_FRONT_LINK = settings.CR_FRONT_LINK
def entity_log_bulk(queryset, entity, tbl):
try:
print(entity)
# print(entity)
for data in queryset:
test = model_to_dict(data)
log_save(
......@@ -427,4 +427,24 @@ def crhistory_save(batch_no, main_action,
toValue=toValue
)
return True
\ No newline at end of file
return True
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
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):
......@@ -242,3 +250,78 @@ def filter_awaiting(base_queryset,
pass
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):
blank=True,
null=True)
archived_at = models.DateTimeField(
blank=True,
null=True)
class Meta:
db_table = 'change_request_template_headers'
......@@ -526,10 +522,6 @@ class ChangeRequestTemplateHeader(BaseHeader):
self.template_no = code
self.save()
def delete(self):
self.archived_at = datetime.utcnow
self.save()
class ChangeRequestTemplateApprovers(BaseApprover):
code = models.CharField(
......@@ -540,10 +532,7 @@ class ChangeRequestTemplateApprovers(BaseApprover):
on_delete=models.DO_NOTHING,
to_field='template_no',
related_name='tmp_approvers')
archived_at = models.DateTimeField(
blank=True,
null=True)
class Meta:
db_table = 'change_request_template_approvers'
......@@ -559,9 +548,6 @@ class ChangeRequestTemplateApprovers(BaseApprover):
self.created = datetime.now()
self.save()
def delete(self):
self.archived_at = datetime.utcnow
self.save()
class ChangeRequestTemplateStakeHolders(BaseStakeholder):
code = models.CharField(
......@@ -572,10 +558,7 @@ class ChangeRequestTemplateStakeHolders(BaseStakeholder):
on_delete=models.DO_NOTHING,
to_field='template_no',
related_name='tmp_stakes')
archived_at = models.DateTimeField(
blank=True,
null=True)
class Meta:
db_table = 'change_request_template_stakeholders'
......@@ -590,10 +573,6 @@ class ChangeRequestTemplateStakeHolders(BaseStakeholder):
self.code = code
self.created = datetime.now()
self.save()
def delete(self):
self.archived_at = datetime.utcnow
self.save()
class ChangeRequestTemplateAttachments(BaseAttachment):
......@@ -605,9 +584,6 @@ class ChangeRequestTemplateAttachments(BaseAttachment):
on_delete=models.DO_NOTHING,
to_field='template_no',
related_name='tmp_attachments')
archived_at = models.DateTimeField(
blank=True,
null=True)
class Meta:
db_table = 'change_request_template_attachments'
......@@ -624,10 +600,6 @@ class ChangeRequestTemplateAttachments(BaseAttachment):
self.created = datetime.now()
self.save()
def delete(self):
self.archived_at = datetime.utcnow
self.save()
class ChangeRequestTemplateDetails(BaseDetails):
code = models.CharField(
......@@ -638,10 +610,7 @@ class ChangeRequestTemplateDetails(BaseDetails):
on_delete=models.DO_NOTHING,
to_field='template_no',
related_name='tmp_details')
archived_at = models.DateTimeField(
blank=True,
null=True)
class Meta:
db_table = 'change_request_template_details'
......@@ -657,10 +626,6 @@ class ChangeRequestTemplateDetails(BaseDetails):
self.created = datetime.now()
self.save()
def delete(self):
self.archived_at = datetime.utcnow
self.save()
'''
*****
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