Commit 2ebe8a2a authored by Gladys Forte's avatar Gladys Forte

Merge pull request #336 in RMS/api-main-service from gladys-dev2 to RMSv2

* commit 'dd701733':
  added file upload on form
parents 475d6c94 dd701733
...@@ -793,7 +793,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -793,7 +793,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
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'
).order_by('level').last() ).order_by('level').last()
if (current_user == the_last_vendor.user.code and if (current_user == the_last_vendor.user.code and
level == the_last_vendor.level): level == the_last_vendor.level):
models.ChangeRequestFormHeader.objects.filter( models.ChangeRequestFormHeader.objects.filter(
...@@ -1249,6 +1249,52 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -1249,6 +1249,52 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
return Response(message, return Response(message,
status=status.HTTP_500_INTERNAL_SERVER_ERROR) status=status.HTTP_500_INTERNAL_SERVER_ERROR)
@transaction.atomic()
@action(
methods=['POST'], detail=True,
url_path='file_upload', url_name='file_upload'
)
def file_upload(self, request, *args, **kwargs):
try:
attach_body = request.data
form_code = kwargs['form_code']
id_number = self.request.user.code
data_list_attach = []
# create form attachments
if attach_body['attachments']:
frm_attachments = attach_body['attachments']
for frm_attachment in frm_attachments:
frm_attachment['form_code'] = form_code
frm_attachment['uploaded_by'] = id_number
data_list_attach.append(frm_attachment)
serializerAttach = ChangeRequestFormAttachmentsSerializer(
data=data_list_attach, many=True)
if serializerAttach.is_valid(raise_exception=True):
serializerAttach.save()
message = status_message_response(
200, 'success',
'New Attachments successfully saved!',
serializerAttach.data
)
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()
......
...@@ -19,7 +19,7 @@ class UserListTemplate(APIView): ...@@ -19,7 +19,7 @@ class UserListTemplate(APIView):
user_codes = models.User.objects.filter( user_codes = models.User.objects.filter(
department=dept department=dept
).values('code').exclude(id=1) ).values('code').exclude(id=1)
verified_users = models.AllowedCompany.objects.filter( verified_users = models.AllowedCompany.objects.filter(
Q(id_number__in=user_codes) & Q(id_number__in=user_codes) &
Q(create_change_request_template=True) Q(create_change_request_template=True)
......
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