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()
......@@ -190,7 +193,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
overdue_filtered = change_request.filter_overdue(self.queryset)
overdue = overdue_filtered.count()
message = {
'account_no': id_number,
'pending': pending,
......@@ -206,7 +209,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
'status': 'success',
'message': 'Dashboard Summary'
}
return Response(message, status=status.HTTP_200_OK)
@action(detail=False,
......@@ -271,7 +274,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
id_number)
self.queryset = change_request.filter_overdue(self.queryset)
self.queryset = change_request.filter_base(
self.queryset,
request.query_params.get('company_requested_to'),
......@@ -693,7 +696,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
old_instance,
new_instance
)
# action
if action.lower() == 'approved':
# NOTIF MSG FOR REQUESTOR
......@@ -717,6 +720,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
).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
)
the_next_vendor = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code, level=int(next_level),
......@@ -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
......@@ -769,12 +786,6 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
requestor_notification_msg, action,
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'
......@@ -785,12 +796,38 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
form_code=form_code
).update(status='Completed')
else:
models.ChangeRequestFormHeader.objects.filter(
form_code=form_code
).update(status='Approved')
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')
elif action.lower() == 'acknowledged':
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':
# EMAIL CODE FOR REQUESTOR
requestor_notification_msg = REQUESTOR_ACKNOWLEDGE_MESSAGE.split(';')[0]
......@@ -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,7 +866,13 @@ 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',
'Action performed',
......@@ -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 = {
......
......@@ -183,9 +183,6 @@ class UserViewSet(viewsets.ModelViewSet):
raise ParseError(
'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