Commit f7ac6aad authored by John Red Medrano's avatar John Red Medrano

RMS31: Upload User No Error Message for Incomplete File, make the keys for...

RMS31: Upload User No Error Message for Incomplete File, make the keys for user priviledge string to make it lower
parent 16c18982
...@@ -292,18 +292,20 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -292,18 +292,20 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
return self.get_paginated_response(message) return self.get_paginated_response(message)
@transaction.atomic # @transaction.atomic
def create(self, request, **kwargs): def create(self, request, **kwargs):
sp1 = transaction.savepoint() # nothing will save to db
csv_file = request.FILES['file'] csv_file = request.FILES['file']
extension_file = str(csv_file).split('.')[1] extension_file = str(csv_file).split('.')[1]
if extension_file.lower() != 'csv': if extension_file.lower() != 'csv':
return Response( return Response(
{"message": "Only csv extension file is allowed"}, {"message": "Only csv extension file is allowed"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
df = pd.read_csv(csv_file, sep=',', skip_blank_lines=True).dropna() df = pd.read_csv(csv_file, sep=',', skip_blank_lines=True)
# df.dropna() df.dropna()
logged_user_type = request.user.user_type logged_user_type = request.user.user_type
logged_user_company = request.user.department.company.name logged_user_company = request.user.department.company.name
logged_user_department = request.user.department.name logged_user_department = request.user.department.name
...@@ -340,7 +342,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -340,7 +342,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
Q(company=user_company) Q(company=user_company)
) )
if not request_department: if not request_department:
# raise ParseError(company_error) transaction.savepoint_rollback(sp1)
return Response( return Response(
{"message": company_error}, {"message": company_error},
# {"message": str(e)}, # {"message": str(e)},
...@@ -349,6 +351,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -349,6 +351,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
elif request.user.user_type == enums_department: elif request.user.user_type == enums_department:
if keys['Department_Code'] != request.user.department.code: if keys['Department_Code'] != request.user.department.code:
transaction.savepoint_rollback(sp1)
return Response( return Response(
{"message": department_error}, {"message": department_error},
# {"message": str(e)}, # {"message": str(e)},
...@@ -429,10 +432,11 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -429,10 +432,11 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
code=privilege_department_code code=privilege_department_code
) )
ccr = True if keys['Create_CR'].lower() == 'yes' else False ccr = True if str(keys['Create_CR']).lower() == 'yes' else False
crt = True if keys['Create_Template'].lower() == 'yes' else False crt = True if str(keys['Create_Template']).lower() == 'yes' else False
view_all = True if keys['View_All_CR'].lower() == 'yes' else False view_all = True if str(keys['View_All_CR']).lower() == 'yes' else False
approve_cr = True if keys['Approve_CR'].lower() == 'yes' else False approve_cr = True if str(keys['Approve_CR']).lower() == 'yes' else False
privilege_object = { privilege_object = {
"id_number": current_user, "id_number": current_user,
...@@ -447,6 +451,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -447,6 +451,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
AllowedCompany.objects.create(**privilege_object) AllowedCompany.objects.create(**privilege_object)
except IntegrityError as e: except IntegrityError as e:
transaction.savepoint_rollback(sp1)
return Response( return Response(
{"message": f"Duplicate user privilege at row {data + 2}"}, {"message": f"Duplicate user privilege at row {data + 2}"},
# {"message": str(e)}, # {"message": str(e)},
...@@ -454,26 +459,28 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -454,26 +459,28 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
) )
except ObjectDoesNotExist as e: except ObjectDoesNotExist as e:
transaction.savepoint_rollback(sp1)
return Response( return Response(
{"message": f"Department Does not Exist at Privilege row {data + 2}"}, {"message": f"Department Does not Exist at Privilege row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
except IntegrityError as e: except IntegrityError as e:
# etl2.delete() transaction.savepoint_rollback(sp1)
# transaction.set_rollback(True)
return Response( return Response(
{"message": f"Record already exist at row {data + 2}"}, {"message": f"Record already exist at row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
except KeyError as e: except KeyError as e:
transaction.savepoint_rollback(sp1)
return Response( return Response(
{"message": f"Missing column {e.args[0]}"}, {"message": f"Missing column {e.args[0]}"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
except ObjectDoesNotExist as e: except ObjectDoesNotExist as e:
transaction.savepoint_rollback(sp1)
return Response( return Response(
{"message": f"Department Does not Exist at row {data + 2}"}, {"message": f"Department Does not Exist at row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
......
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