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): ...@@ -183,6 +183,9 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
requested_to_priority='Normal' requested_to_priority='Normal'
).count() ).count()
self.queryset = change_request.list_by_user_without_dept(
id_number)
awaiting_filtered = change_request.filter_awaiting(self.queryset, id_number) awaiting_filtered = change_request.filter_awaiting(self.queryset, id_number)
awaiting = awaiting_filtered.count() awaiting = awaiting_filtered.count()
...@@ -190,7 +193,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -190,7 +193,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
overdue_filtered = change_request.filter_overdue(self.queryset) overdue_filtered = change_request.filter_overdue(self.queryset)
overdue = overdue_filtered.count() overdue = overdue_filtered.count()
message = { message = {
'account_no': id_number, 'account_no': id_number,
'pending': pending, 'pending': pending,
...@@ -206,7 +209,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -206,7 +209,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
'status': 'success', 'status': 'success',
'message': 'Dashboard Summary' 'message': 'Dashboard Summary'
} }
return Response(message, status=status.HTTP_200_OK) return Response(message, status=status.HTTP_200_OK)
@action(detail=False, @action(detail=False,
...@@ -271,7 +274,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -271,7 +274,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
id_number) id_number)
self.queryset = change_request.filter_overdue(self.queryset) self.queryset = change_request.filter_overdue(self.queryset)
self.queryset = change_request.filter_base( self.queryset = change_request.filter_base(
self.queryset, self.queryset,
request.query_params.get('company_requested_to'), request.query_params.get('company_requested_to'),
...@@ -693,7 +696,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -693,7 +696,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
old_instance, old_instance,
new_instance new_instance
) )
# action
if action.lower() == 'approved': if action.lower() == 'approved':
# NOTIF MSG FOR REQUESTOR # NOTIF MSG FOR REQUESTOR
...@@ -717,6 +720,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -717,6 +720,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
).update( ).update(
date_sent=datetime.now() 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( the_next_vendor = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code, level=int(next_level), form_code=form_code, level=int(next_level),
...@@ -759,6 +769,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -759,6 +769,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
form_code=form_code form_code=form_code
).update(status='Rejected') ).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': elif action.lower() == 'completed':
# EMAIL CODE FOR REQUESTOR # EMAIL CODE FOR REQUESTOR
...@@ -769,12 +786,6 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -769,12 +786,6 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
requestor_notification_msg, action, requestor_notification_msg, action,
remarks, level remarks, level
) )
models.ChangeRequestFormApprovers.objects.filter(
Q(level=int(next_level))
).update(
date_sent=datetime.now()
)
the_last_vendor = models.ChangeRequestFormApprovers.objects.filter( the_last_vendor = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code, delegation='Vendor/Implementor' form_code=form_code, delegation='Vendor/Implementor'
...@@ -785,12 +796,38 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -785,12 +796,38 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
form_code=form_code form_code=form_code
).update(status='Completed') ).update(status='Completed')
else: else:
models.ChangeRequestFormHeader.objects.filter( the_next_vendor = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code form_code=form_code, level=int(next_level),
).update(status='Approved') 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 # EMAIL CODE FOR REQUESTOR
requestor_notification_msg = REQUESTOR_ACKNOWLEDGE_MESSAGE.split(';')[0] requestor_notification_msg = REQUESTOR_ACKNOWLEDGE_MESSAGE.split(';')[0]
...@@ -800,10 +837,6 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -800,10 +837,6 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
remarks, level remarks, level
) )
# models.ChangeRequestFormHeader.objects.filter(
# form_code=form_code
# ).update(status='Acknowledged')
elif action.lower() == 'accepted': elif action.lower() == 'accepted':
# EMAIL CODE FOR VENDOR # EMAIL CODE FOR VENDOR
...@@ -819,6 +852,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -819,6 +852,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
form_code=form_code form_code=form_code
).update(status='Closed') ).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': elif action.lower() == 'cancelled':
# changed form status to cancelled # changed form status to cancelled
...@@ -826,7 +866,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -826,7 +866,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
models.ChangeRequestFormHeader.objects.filter( models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).update(status='Cancelled') 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( message = status_message_response(
200, 'success', 200, 'success',
'Action performed', 'Action performed',
...@@ -1152,7 +1198,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -1152,7 +1198,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
).values().order_by('-created') ).values().order_by('-created')
for data in history: for data in history:
data = data['toValue'].replace("'", '"').replace('None', '""') data = data['toValue'].replace("'", '"').replace('None', '""').replace('True', '""')
convert = json.loads(data) convert = json.loads(data)
history_dict = { history_dict = {
......
...@@ -183,9 +183,6 @@ class UserViewSet(viewsets.ModelViewSet): ...@@ -183,9 +183,6 @@ class UserViewSet(viewsets.ModelViewSet):
raise ParseError( raise ParseError(
'Cannot update this record the user has a record on change request it might cause a data error' 'Cannot update this record the user has a record on change request it might cause a data error'
) )
serializer = self.get_serializer( serializer = self.get_serializer(
instance, data=request.data, partial=partial 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): ...@@ -742,6 +742,8 @@ class ChangeRequestFormApprovers(BaseApprover):
date_sent = models.DateTimeField( date_sent = models.DateTimeField(
blank=True, blank=True,
null=True) null=True)
is_action = models.BooleanField(
default=True)
class Meta: class Meta:
db_table = 'change_request_form_approvers' 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