Commit b6cb1bd6 authored by Gladys Forte's avatar Gladys Forte

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

* commit '4a8cd613':
  new migration
parents 889579df 4a8cd613
......@@ -28,7 +28,8 @@ from app.applicationlayer.cms.utils_cr import (number_generator,
crhistory_save,
send_mail_vendor,
get_max_batchno,
generate_template_id)
generate_template_id,
crhistory_create_save)
from app.entities import enums
from django.forms.models import model_to_dict
import json
......@@ -742,15 +743,17 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# generate batchno history
batchno = get_max_batchno("batch")
print(instance)
# template_no = serializer.data['template_no']
# CR_Prefix = serializer.data['requested_to_template_id']
# frm_id = serializer.data['form_code']
# generate requested_to_template_id
# generate_template_id(CR_Prefix, form_code, template_no)
# generate requested template id
# generate_template_id(
# CR_Prefix,
# frm_id,
# template_no,
# batchno,
# enums.CREnum.CREATE.value,
# enums.CREnum.ADD.value,
# serializer.data
# )
data_update = {
"status": 'Pending',
......@@ -1031,14 +1034,25 @@ class ChangeRequestFormPost(APIView):
if serializer.is_valid(raise_exception=True):
serializer.save()
if serializer.data['status'].lower() == 'pending':
template_no = serializer.data['template_no']
CR_Prefix = serializer.data['requested_to_template_id']
frm_id = serializer.data['form_code']
# generate batchno history
batchno = get_max_batchno("batch")
# generate requested template id
generate_template_id(
CR_Prefix,
frm_id,
template_no,
batchno,
enums.CREnum.CREATE.value,
enums.CREnum.ADD.value,
serializer.data
)
template_no = serializer.data['template_no']
CR_Prefix = serializer.data['requested_to_template_id']
frm_id = serializer.data['form_code']
# generate requested template id
generate_template_id(CR_Prefix, frm_id, template_no)
# create template approvers
frm_approvers = form_header['frm_approvers']
counter = 0
......
......@@ -473,13 +473,60 @@ def crhistory_log_bulk_delete(queryset, entity, tbl, form_code,
raise APIException(detail=exc)
def generate_template_id(prefix, form_code, template_no):
print("hello")
tmp_counter = models.ChangeRequestFormHeader.objects.filter(
template_no=template_no).count()
def generate_template_id(prefix,
form_code,
template_no,
batchno,
main_action,
action,
serializer_data):
generate_tmp = number_generator(prefix, tmp_counter)
try:
max_id = models.ChangeRequestHistory.objects.filter(
template_no=template_no).count()
if max_id:
max_batch = max_id.batch_no.split("-")
max_batch = int(max_batch[2].lstrip("0")) + 1
requested_to_template_id = number_generator(prefix, max_batch)
else:
requested_to_template_id = number_generator(prefix, 1)
except:
requested_to_template_id = number_generator(prefix, 1)
models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).update(
requested_to_template_id=generate_tmp)
\ No newline at end of file
requested_to_template_id=requested_to_template_id)
# save history in form header
crhistory_create_save(
batchno,
main_action,
action,
enums.CREntitiesEnum.CR_FRM_HEADER.value,
form_code,
serializer_data,
requested_to_template_id,
template_no
)
return True
def crhistory_create_save(batch_no, main_action,
action, entity, form_code,
toValue, requested_to_template_id, template_no):
models.ChangeRequestHistory.objects.create(
batch_no=batch_no,
main_action=main_action,
action=action,
entity=entity,
form_code=form_code,
fromValue='',
toValue=toValue,
requested_to_template_id=requested_to_template_id,
template_no=template_no
)
return True
\ No newline at end of file
......@@ -104,6 +104,7 @@ class CREnum(Enum):
ACKNOWLEDGED = "ACKNOWLEDGED"
REJECTED = "REJECTED"
ACTION = "ACTION"
CREATE = "CREATE"
class CREntitiesEnum(Enum):
......
# Generated by Django 2.2 on 2019-09-27 16:01
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('entities', '0002_changerequesthistory_requested_to_template_id'),
]
operations = [
migrations.AddField(
model_name='changerequesthistory',
name='template_no',
field=models.CharField(blank=True, max_length=255, null=True),
),
]
......@@ -513,7 +513,7 @@ class ChangeRequestTemplateHeader(BaseHeader):
requested_to_template_id = models.CharField(
max_length=255,
unique=True)
created_by_user = models.ForeignKey(
User,
on_delete=models.DO_NOTHING,
......@@ -904,6 +904,14 @@ class ChangeRequestHistory(AuditClass):
max_length=255,
blank=True,
null=True)
requested_to_template_id = models.CharField(
max_length=255,
blank=True,
null=True)
template_no = models.CharField(
max_length=255,
blank=True,
null=True)
def __str__(self):
return self.entity
......
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