Commit 50d862db authored by John Red Medrano's avatar John Red Medrano

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

* commit '5b03433e':
  adadsadad
  removed department of superuser
  replace values of column header at download of form, replace the return of history:
  set to action the query
  set to action the query
  alter fields on history
  postman
  archive
  postman
parents a3744da9 5b03433e
...@@ -3,19 +3,52 @@ from rest_framework import serializers ...@@ -3,19 +3,52 @@ from rest_framework import serializers
class headers(serializers.ModelSerializer): class headers(serializers.ModelSerializer):
def to_representation(self, instance): def to_representation(self, instance):
setattr( ret = super().to_representation(instance)
instance, 'created', instance.created.strftime('%Y-%m-%d-%H:%M:%S') try:
) user = self.context['request'].user
setattr(
instance, 'requested_to_target_date', id_number = user.code
instance.requested_to_target_date.strftime('%Y-%m-%d-%H:%M:%S')
) current_level = models.ChangeRequestFormApprovers.objects.filter(
return super().to_representation(instance) Q(form_code=ret['form_code']) &
(Q(action='') | Q(action=None))
).order_by('level')
if current_level.count() > 0 and current_level[0].user.code == id_number:
if instance.status.lower() == 'rejected':
approver = 'No'
elif instance.status.lower() == 'cancelled':
approver = 'No'
elif instance.status.lower() == 'closed':
approver = 'No'
else:
approver = 'Yes'
else:
approver = 'No'
ret['action_required'] = approver
ret['company'] = instance.requested_to_company.name
ret['department'] = instance.requested_to_department.name
ret['requested_by'] = instance.requested_by_user.name
ret['requested_to_target_date'] = instance.requested_to_target_date.strftime('%Y-%m-%d-%H:%M:%S')
ret['created'] = instance.created.strftime('%Y-%m-%d-%H:%M:%S')
return ret
except Exception as e:
ret['action_required'] = "No"
ret['company'] = "None"
ret['department'] = "None"
ret['requested_by'] = "None"
return ret
class Meta: class Meta:
model = models.ChangeRequestFormHeader model = models.ChangeRequestFormHeader
fields = ( fields = (
'requested_to_template_id',
'requested_to_template_name', 'requested_to_template_name',
'company_desc', 'company_desc',
'department_desc', 'department_desc',
......
...@@ -70,6 +70,7 @@ class DownloadRequest(XLSXFileMixin, ReadOnlyModelViewSet): ...@@ -70,6 +70,7 @@ class DownloadRequest(XLSXFileMixin, ReadOnlyModelViewSet):
column_header = { column_header = {
'titles': [ 'titles': [
"Cr Number",
"Name", "Name",
"Company Request To", "Company Request To",
"Department Requested To", "Department Requested To",
......
...@@ -1112,16 +1112,61 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -1112,16 +1112,61 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
instance = self.get_object() instance = self.get_object()
history = models.ChangeRequestHistory.objects.filter( history = models.ChangeRequestHistory.objects.filter(
Q(form_code=instance) & Q(form_code=instance) &
Q(main_action='RESUBMIT') & Q(main_action='ACTION') &
Q(entity='CR_FRM_APPROVER') Q(entity='CR_FRM_APPROVER')
).values() ).values().order_by('-created')
list_his = [] list_his = []
for data in history: for data in history:
list_his.append(data['fromValue']) # list_his.append()
# print(type(model_to_dict(history))) x = data['toValue'].replace("'", '"').replace('None', '""')
# ser = ChangeRequestFormApproversSerializer(data=list_his, many=True) convert = json.loads(x)
# ser.is_valid(raise_exception=False) # print(convert)
# print(ser.data) # user_id = convert['user']
# user_instance = models.User.objects.get(
# code=str(user_id)
# )
# name = user_instance.name
# department = user_instance.department.name
# company = user_instance.department.company.name
# date_sent = convert['action_date']
# delegation = convert['delegation']
# action = convert['action']
# remarks = convert['remarks']
history_dict = {
"name": convert['user']['name'],
"department" : convert['department']['name'],
"company" : convert['company']['name'],
"date_sent" : convert['date_sent'],
"delegation" : convert['delegation'],
"action" : convert['action'],
"remarks" : convert['remarks']
}
list_his.append(history_dict)
# self.serializer_class =
test = ChangeRequestFormApproversSerializer(list_his)
# test.is_valid(raise_exception=False)
# page = self.paginate_queryset(test)
# serializer = self.get_serializer(page, many=True)
# id_number = self.request.user.code
# self.queryset = change_request.list_by_user(id_number)
# self.queryset = change_request.filter_base(
# self.queryset,
# request.query_params.get('company_requested_to'),
# request.query_params.get('department_requested_to'),
# request.query_params.get('date_modified_from'),
# request.query_params.get('date_modified_to'),
# request.query_params.get('date_required_from'),
# request.query_params.get('date_required_to'),
# request.query_params.get('form_type'),
# )
# queryset = self.filter_queryset(self.queryset)
return Response( return Response(
...@@ -1129,6 +1174,31 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -1129,6 +1174,31 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
status=status.HTTP_200_OK status=status.HTTP_200_OK
) )
#restore archived CR
def partial_update(self, request, *args, **kwargs):
try:
kwargs['partial'] = True
form_code = self.kwargs['form_code']
instance = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code
)
instance.update(is_active=True)
message = status_message_response(
200, 'success',
'Archived Change Request restored',
''
)
return Response(message, status=status.HTTP_200_OK)
except Exception as e:
message = status_message_response(
500, 'failed',
'Request was not able to process' + str(e), []
)
return Response(message,
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
class ChangeRequestFormPost(APIView): class ChangeRequestFormPost(APIView):
@transaction.atomic() @transaction.atomic()
......
...@@ -73,6 +73,7 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet): ...@@ -73,6 +73,7 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet):
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset()) queryset = self.filter_queryset(self.get_queryset())
queryset.filter(created_by_user=request.user.code)
self.serializer_class = ChangeRequestTemplatesSerializerList self.serializer_class = ChangeRequestTemplatesSerializerList
......
...@@ -46,6 +46,7 @@ class DepartmentViewSet(viewsets.ModelViewSet): ...@@ -46,6 +46,7 @@ class DepartmentViewSet(viewsets.ModelViewSet):
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset()) queryset = self.filter_queryset(self.get_queryset())
queryset = queryset.exclude(id=1)
page = self.paginate_queryset(queryset) page = self.paginate_queryset(queryset)
if page is not None: if page is not None:
......
...@@ -32,11 +32,11 @@ def list_by_user(user_id_number): ...@@ -32,11 +32,11 @@ def list_by_user(user_id_number):
).values('group_pivots') ).values('group_pivots')
return_queryset = models.ChangeRequestFormHeader.objects.filter( return_queryset = models.ChangeRequestFormHeader.objects.filter(
Q(is_active=True) | (Q(frm_approvers__user__code=user_id_number) |
Q(frm_approvers__user__code=user_id_number) |
Q(frm_stakes__user__code=user_id_number) | Q(frm_stakes__user__code=user_id_number) |
Q(requested_by_user=user_id_number) | Q(requested_by_user=user_id_number) |
Q(requested_to_department__in=priviledgeCrs) Q(requested_to_department__in=priviledgeCrs)) &
Q(is_active=True)
).exclude( ).exclude(
Q(status__icontains='Draft') & Q(status__icontains='Draft') &
~Q(requested_by_user=user_id_number) ~Q(requested_by_user=user_id_number)
...@@ -59,10 +59,11 @@ def list_by_user_archived(user_id_number): ...@@ -59,10 +59,11 @@ def list_by_user_archived(user_id_number):
).values('group_pivots') ).values('group_pivots')
return_queryset = models.ChangeRequestFormHeader.objects.filter( return_queryset = models.ChangeRequestFormHeader.objects.filter(
Q(frm_approvers__user__code=user_id_number) | (Q(frm_approvers__user__code=user_id_number) |
Q(frm_stakes__user__code=user_id_number) | Q(frm_stakes__user__code=user_id_number) |
Q(requested_by_user=user_id_number) | Q(requested_by_user=user_id_number) |
Q(requested_to_department__in=priviledgeCrs) Q(requested_to_department__in=priviledgeCrs)) &
Q(is_active=False)
).exclude( ).exclude(
Q(status__icontains='Draft') & Q(status__icontains='Draft') &
~Q(requested_by_user=user_id_number) ~Q(requested_by_user=user_id_number)
...@@ -79,14 +80,13 @@ def list_by_user_archived(user_id_number): ...@@ -79,14 +80,13 @@ def list_by_user_archived(user_id_number):
def list_by_user_without_dept(user_id_number): def list_by_user_without_dept(user_id_number):
try: try:
return_queryset = models.ChangeRequestFormHeader.objects.filter( return_queryset = models.ChangeRequestFormHeader.objects.filter(
Q(is_active=True) | (Q(frm_approvers__user__code=user_id_number) |
Q(frm_approvers__user__code=user_id_number) |
Q(frm_stakes__user__code=user_id_number) | Q(frm_stakes__user__code=user_id_number) |
Q(requested_by_user=user_id_number) Q(requested_by_user=user_id_number)) &
Q(is_active=True)
).exclude( ).exclude(
Q(status__icontains='Draft') & Q(status__icontains='Draft') &
~Q(requested_by_user=user_id_number) | ~Q(requested_by_user=user_id_number)
Q(status__icontains='Archived')
).distinct() ).distinct()
return return_queryset return return_queryset
......
This diff is collapsed.
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