Commit 8ba97793 authored by John Red Medrano's avatar John Red Medrano

Merge pull request #768 in RMS/api-main-service from core-dev-red-develop to RMSv2

* commit 'df90a600':
  RMS32: User Management Download List, exclude the id number 1 to not include the superuser on list of user download
  RMS31: Upload User No Error Message for Incomplete File, make the keys for user priviledge string to make it lower
parents 1667c2f5 df90a600
...@@ -25,7 +25,7 @@ class UserDownloadRequest(XLSXFileMixin, ReadOnlyModelViewSet): ...@@ -25,7 +25,7 @@ class UserDownloadRequest(XLSXFileMixin, ReadOnlyModelViewSet):
# id_number = request.user.code # id_number = request.user.code
data = User.objects.all() data = User.objects.all().exclude(id=1)
serializer = headers(data=data, many=True) serializer = headers(data=data, many=True)
serializer.is_valid(raise_exception=False) serializer.is_valid(raise_exception=False)
return Response(serializer.data) return Response(serializer.data)
......
...@@ -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