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, ...@@ -28,7 +28,8 @@ from app.applicationlayer.cms.utils_cr import (number_generator,
crhistory_save, crhistory_save,
send_mail_vendor, send_mail_vendor,
get_max_batchno, get_max_batchno,
generate_template_id) generate_template_id,
crhistory_create_save)
from app.entities import enums from app.entities import enums
from django.forms.models import model_to_dict from django.forms.models import model_to_dict
import json import json
...@@ -743,14 +744,16 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -743,14 +744,16 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# generate batchno history # generate batchno history
batchno = get_max_batchno("batch") batchno = get_max_batchno("batch")
print(instance) # generate requested template id
# generate_template_id(
# template_no = serializer.data['template_no'] # CR_Prefix,
# CR_Prefix = serializer.data['requested_to_template_id'] # frm_id,
# frm_id = serializer.data['form_code'] # template_no,
# batchno,
# generate requested_to_template_id # enums.CREnum.CREATE.value,
# generate_template_id(CR_Prefix, form_code, template_no) # enums.CREnum.ADD.value,
# serializer.data
# )
data_update = { data_update = {
"status": 'Pending', "status": 'Pending',
...@@ -1031,13 +1034,24 @@ class ChangeRequestFormPost(APIView): ...@@ -1031,13 +1034,24 @@ class ChangeRequestFormPost(APIView):
if serializer.is_valid(raise_exception=True): if serializer.is_valid(raise_exception=True):
serializer.save() serializer.save()
if serializer.data['status'].lower() == 'pending':
template_no = serializer.data['template_no'] template_no = serializer.data['template_no']
CR_Prefix = serializer.data['requested_to_template_id'] CR_Prefix = serializer.data['requested_to_template_id']
frm_id = serializer.data['form_code'] frm_id = serializer.data['form_code']
# generate batchno history
batchno = get_max_batchno("batch")
# generate requested template id # generate requested template id
generate_template_id(CR_Prefix, frm_id, template_no) generate_template_id(
CR_Prefix,
frm_id,
template_no,
batchno,
enums.CREnum.CREATE.value,
enums.CREnum.ADD.value,
serializer.data
)
# create template approvers # create template approvers
frm_approvers = form_header['frm_approvers'] frm_approvers = form_header['frm_approvers']
......
...@@ -473,13 +473,60 @@ def crhistory_log_bulk_delete(queryset, entity, tbl, form_code, ...@@ -473,13 +473,60 @@ def crhistory_log_bulk_delete(queryset, entity, tbl, form_code,
raise APIException(detail=exc) raise APIException(detail=exc)
def generate_template_id(prefix, form_code, template_no): def generate_template_id(prefix,
print("hello") form_code,
tmp_counter = models.ChangeRequestFormHeader.objects.filter( template_no,
batchno,
main_action,
action,
serializer_data):
try:
max_id = models.ChangeRequestHistory.objects.filter(
template_no=template_no).count() template_no=template_no).count()
generate_tmp = number_generator(prefix, tmp_counter) 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( models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).update( form_code=form_code).update(
requested_to_template_id=generate_tmp) requested_to_template_id=requested_to_template_id)
\ No newline at end of file
# 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): ...@@ -104,6 +104,7 @@ class CREnum(Enum):
ACKNOWLEDGED = "ACKNOWLEDGED" ACKNOWLEDGED = "ACKNOWLEDGED"
REJECTED = "REJECTED" REJECTED = "REJECTED"
ACTION = "ACTION" ACTION = "ACTION"
CREATE = "CREATE"
class CREntitiesEnum(Enum): 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),
),
]
...@@ -904,6 +904,14 @@ class ChangeRequestHistory(AuditClass): ...@@ -904,6 +904,14 @@ class ChangeRequestHistory(AuditClass):
max_length=255, max_length=255,
blank=True, blank=True,
null=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): def __str__(self):
return self.entity 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