Commit 9d12a275 authored by Gladys Forte's avatar Gladys Forte

Merge pull request #307 in RMS/api-main-service from RMSv2 to staging

* commit '5aad2e0a':
  dash overdue fix
  comment
  added bolean handler on the history of approber
  added fields for form approvers
  fix action on completed
  update action completed
parents 379d3ee6 5aad2e0a
......@@ -183,6 +183,9 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
requested_to_priority='Normal'
).count()
self.queryset = change_request.list_by_user_without_dept(
id_number)
awaiting_filtered = change_request.filter_awaiting(self.queryset, id_number)
awaiting = awaiting_filtered.count()
......@@ -693,7 +696,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
old_instance,
new_instance
)
# action
if action.lower() == 'approved':
# NOTIF MSG FOR REQUESTOR
......@@ -718,6 +721,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
date_sent=datetime.now()
)
# update is_action for current level
models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=form_code) & Q(level=int(level))
).update(
is_action=False
)
the_next_vendor = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code, level=int(next_level),
delegation='Vendor/Implementor'
......@@ -759,6 +769,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
form_code=form_code
).update(status='Rejected')
# update is_action for current level
models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=form_code) & Q(level=int(level))
).update(
is_action=False
)
elif action.lower() == 'completed':
# EMAIL CODE FOR REQUESTOR
......@@ -770,12 +787,6 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
remarks, level
)
models.ChangeRequestFormApprovers.objects.filter(
Q(level=int(next_level))
).update(
date_sent=datetime.now()
)
the_last_vendor = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code, delegation='Vendor/Implementor'
).order_by('level').last()
......@@ -785,9 +796,35 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
form_code=form_code
).update(status='Completed')
else:
the_next_vendor = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code, level=int(next_level),
delegation='Vendor/Implementor'
).first()
if the_next_vendor:
if the_next_vendor.user.code == the_last_vendor.user.code:
models.ChangeRequestFormHeader.objects.filter(
form_code=form_code
).update(status='Approved')
else:
models.ChangeRequestFormHeader.objects.filter(
form_code=form_code
).update(status='Pending')
next_approver_email(form_code, next_level)
models.ChangeRequestFormApprovers.objects.filter(
Q(level=int(next_level))
).update(
date_sent=datetime.now()
)
# update is_action for current level
models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=form_code) & Q(level=int(level))
).update(
is_action=False
)
elif action.lower() == 'acknowledged':
......@@ -800,10 +837,6 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
remarks, level
)
# models.ChangeRequestFormHeader.objects.filter(
# form_code=form_code
# ).update(status='Acknowledged')
elif action.lower() == 'accepted':
# EMAIL CODE FOR VENDOR
......@@ -819,6 +852,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
form_code=form_code
).update(status='Closed')
# update is_action for current level
models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=form_code) & Q(level=int(level))
).update(
is_action=False
)
elif action.lower() == 'cancelled':
# changed form status to cancelled
......@@ -826,6 +866,12 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).update(status='Cancelled')
# update is_action for current level
models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=form_code) & Q(level=int(level))
).update(
is_action=False
)
message = status_message_response(
200, 'success',
......@@ -1152,7 +1198,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
).values().order_by('-created')
for data in history:
data = data['toValue'].replace("'", '"').replace('None', '""')
data = data['toValue'].replace("'", '"').replace('None', '""').replace('True', '""')
convert = json.loads(data)
history_dict = {
......
......@@ -184,9 +184,6 @@ class UserViewSet(viewsets.ModelViewSet):
'Cannot update this record the user has a record on change request it might cause a data error'
)
serializer = self.get_serializer(
instance, data=request.data, partial=partial
)
......
# Generated by Django 2.2 on 2019-10-07 11:24
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('entities', '0013_auto_20191002_2108'),
]
operations = [
migrations.AddField(
model_name='changerequestformapprovers',
name='is_action',
field=models.BooleanField(default=True),
),
]
......@@ -742,6 +742,8 @@ class ChangeRequestFormApprovers(BaseApprover):
date_sent = models.DateTimeField(
blank=True,
null=True)
is_action = models.BooleanField(
default=True)
class Meta:
db_table = 'change_request_form_approvers'
......
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