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

removed catch

parent ac6d4cae
...@@ -250,141 +250,141 @@ class UserViewSet(viewsets.ModelViewSet): ...@@ -250,141 +250,141 @@ class UserViewSet(viewsets.ModelViewSet):
email_users = [] email_users = []
for data, keys in df.iterrows(): for data, keys in df.iterrows():
try: # try:
user_department = Department.objects.filter(
Q(name__icontains=keys['department']) &
Q(company__name__icontains=logged_user_company)
).first()
if logged_user_type == 'CUA':
user_department = Department.objects.filter( user_department = Department.objects.filter(
Q(name__icontains=keys['department']) & Q(name__icontains=keys['department']) &
Q(company__name__icontains=logged_user_company) Q(company__name__icontains=logged_user_company)
).first() ).first()
if logged_user_type == 'CUA': if user_department == None:
user_department = Department.objects.filter( msg = f"company is not the same with the logged user at row {data + 2}"
Q(name__icontains=keys['department']) & return Response(
Q(company__name__icontains=logged_user_company) {"message": msg},
).first() status=status.HTTP_400_BAD_REQUEST
if user_department == None: )
msg = f"company is not the same with the logged user at row {data + 2}" elif logged_user_type == 'DUA':
return Response( user_department = Department.objects.get(
{"message": msg}, name__icontains=logged_user_department
)
elif logged_user_type == 'USR':
return Response(
{"message": "Logged User is not allowed"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
elif logged_user_type == 'DUA': else:
user_department = Department.objects.get( user_department = Department.objects.get(
name__icontains=logged_user_department name__icontains=keys['department']
) )
elif logged_user_type == 'USR':
return Response(
{"message": "Logged User is not allowed"},
status=status.HTTP_400_BAD_REQUEST
)
else:
user_department = Department.objects.get(
name__icontains=keys['department']
)
default_app = Application.objects.filter( default_app = Application.objects.filter(
excel_code=keys['default_app'] excel_code=keys['default_app']
).first() ).first()
enums_super = enums.UserTypeEnum.SUPER_USER.value enums_super = enums.UserTypeEnum.SUPER_USER.value
enums_OUA = enums.UserTypeEnum.OVERALL_USER_ADMIN.value enums_OUA = enums.UserTypeEnum.OVERALL_USER_ADMIN.value
enums_company = enums.UserTypeEnum.COMPANY_USER_ADMIN.value enums_company = enums.UserTypeEnum.COMPANY_USER_ADMIN.value
enums_department = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value enums_department = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value
enums_user = enums.UserTypeEnum.USER.value enums_user = enums.UserTypeEnum.USER.value
if keys['user_type'].lower() == 'super user' and logged_user_type == enums_super: if keys['user_type'].lower() == 'super user' and logged_user_type == enums_super:
user_type = enums.UserTypeEnum.SUPER_USER.value user_type = enums.UserTypeEnum.SUPER_USER.value
elif keys['user_type'].lower() == 'super user' and logged_user_type != enums_super: elif keys['user_type'].lower() == 'super user' and logged_user_type != enums_super:
return Response( return Response(
{"message": f"This user is not allowed to create super user. data error at row {data + 2}"}, {"message": f"This user is not allowed to create super user. data error at row {data + 2}"},
status=status.HTTP_201_CREATED status=status.HTTP_201_CREATED
)
elif keys['user_type'].lower() == 'overall user admin':
user_type = enums.UserTypeEnum.OVERALL_USER_ADMIN.value
elif keys['user_type'].lower() == 'company user admin':
user_type = enums.UserTypeEnum.COMPANY_USER_ADMIN.value
elif keys['user_type'].lower() == 'department user admin':
user_type = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value
else:
user_type = enums.UserTypeEnum.USER.value
users = {
"username": keys['username'],
"name": keys['name'],
"department": user_department,
"email": keys['email'],
"contact_no": keys['contact_no'],
"default_app": default_app,
"user_type": user_type
}
current_user = User.objects.create(
**users
) )
elif keys['user_type'].lower() == 'overall user admin':
user_type = enums.UserTypeEnum.OVERALL_USER_ADMIN.value
elif keys['user_type'].lower() == 'company user admin':
user_type = enums.UserTypeEnum.COMPANY_USER_ADMIN.value
elif keys['user_type'].lower() == 'department user admin':
user_type = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value
else:
user_type = enums.UserTypeEnum.USER.value
users = {
"username": keys['username'],
"name": keys['name'],
"department": user_department,
"email": keys['email'],
"contact_no": keys['contact_no'],
"default_app": default_app,
"user_type": user_type
}
current_user = User.objects.create(
**users
)
password = User.objects.make_random_password(length=10) password = User.objects.make_random_password(length=10)
password_hash = make_password(password) password_hash = make_password(password)
current_user.password = password_hash current_user.password = password_hash
current_user.save() current_user.save()
app = Application.objects.filter( app = Application.objects.filter(
excel_code__in=keys['application'].split(',') excel_code__in=keys['application'].split(',')
) )
update_user = current_user.application.set(app)
for instance in keys['privilege'].split(';'):
privilege_list = instance.split(',')
this_company = Company.objects.filter(
name__icontains=privilege_list[0]
).first()
update_user = current_user.application.set(app) this_department = Department.objects.filter(
name__icontains=privilege_list[1]
for instance in keys['privilege'].split(';'): ).first()
privilege_list = instance.split(',') if privilege_list[2] == 0:
privilege_list[2] = False
this_company = Company.objects.filter( else:
name__icontains=privilege_list[0] privilege_list[2] = True
).first()
if privilege_list[3] == 0:
this_department = Department.objects.filter( privilege_list[3] = False
name__icontains=privilege_list[1] else:
).first() privilege_list[3] = True
if privilege_list[2] == 0: if privilege_list[4] == 0:
privilege_list[2] = False privilege_list[4] = False
else: else:
privilege_list[2] = True privilege_list[4] = True
if privilege_list[3] == 0: current_user = User.objects.get(id=current_user.id)
privilege_list[3] = False # try:
else: privilege_object = {
privilege_list[3] = True "id_number": current_user,
"company_pivot": this_company,
if privilege_list[4] == 0: "group_pivots": this_department,
privilege_list[4] = False "create_change_request": privilege_list[2],
else: "create_change_request_template": privilege_list[3],
privilege_list[4] = True "view_all_change_request": privilege_list[4],
"approve_cr": privilege_list[5]
current_user = User.objects.get(id=current_user.id) }
# try: AllowedCompany.objects.create(**privilege_object)
privilege_object = {
"id_number": current_user,
"company_pivot": this_company,
"group_pivots": this_department,
"create_change_request": privilege_list[2],
"create_change_request_template": privilege_list[3],
"view_all_change_request": privilege_list[4],
"approve_cr": privilege_list[5]
}
AllowedCompany.objects.create(**privilege_object)
# except IntegrityError as e: # except IntegrityError as e:
# return Response( # return Response(
# {"message": f"Duplicate user privilege at row {data + 2}"}, # {"message": f"Duplicate user privilege at row {data + 2}"},
# status=status.HTTP_201_CREATED # status=status.HTTP_201_CREATED
# ) # )
except IntegrityError as e: # except IntegrityError as e:
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_201_CREATED # status=status.HTTP_201_CREATED
) # )
except KeyError as e: # except KeyError as e:
return Response( # return Response(
{"message": "Missing column user_type"}, # {"message": "Missing column user_type"},
status=status.HTTP_201_CREATED # status=status.HTTP_201_CREATED
) # )
del users['department'] del users['department']
del users['contact_no'] del users['contact_no']
......
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