Commit 39b008b7 authored by Gladys Forte's avatar Gladys Forte

{devbugfix} initial ams privilege on batchupload

parent e1f9f23c
......@@ -18,8 +18,8 @@ from app.applicationlayer.management.batchupload.serializer import (
BatchUploadSerializer
)
from app.entities.models import (
User, Application, ExtractTransformLoad,
AllowedCompany, Company, Department, UserHistory, MasterAttachment
User, Application, ExtractTransformLoad, AllowedCompany,
Company, Department, UserHistory, MasterAttachment, AMSPrivilege
)
from app.applicationlayer.utils import (
status_message_response,
......@@ -208,55 +208,72 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
attach_user.first().delete()
departments = Department.objects.exclude(id=1).annotate(
Privilege_Company=F('company__name'),
Privilege_Department=F('name'),
Privilege_Department_Code=F('code')
Change_Request_Privilege_Company=F('company__name'),
Change_Request_Privilege_Department=F('name'),
Change_Request_Privilege_Department_Code=F('code')
).values(
'Privilege_Company',
'Privilege_Department',
'Privilege_Department_Code'
'Change_Request_Privilege_Company',
'Change_Request_Privilege_Department',
'Change_Request_Privilege_Department_Code'
)
ams_user_groups = []
for a in enums.AMSUserTypeEnum:
ams_user_groups.append(a.name)
data = {
'Username': ["ob-john"],
'Name': ["John Doe"],
'Company': [departments[0]['Privilege_Company']],
'Department': [departments[0]['Privilege_Department']],
'Department_Code': [departments[0]['Privilege_Department_Code']],
'Company': [departments[0]['Change_Request_Privilege_Company']],
'Department': [departments[0]['Change_Request_Privilege_Department']],
'Department_Code': [departments[0]['Change_Request_Privilege_Department_Code']],
'Email': ["johndoe@gmail.com"],
'Contact_No': ["123456"],
'Application': ["cms,ams"],
'Default_app': ["cms"],
'Privilege_Company': [departments[0]['Privilege_Company']],
'Privilege_Department': [departments[0]['Privilege_Department']],
'Privilege_Department_Code': [departments[0]['Privilege_Department_Code']],
'Change_Request_Privilege_Company': [departments[0]['Change_Request_Privilege_Company']],
'Change_Request_Privilege_Department': [departments[0]['Change_Request_Privilege_Department']],
'Change_Request_Privilege_Department_Code': [departments[0]['Change_Request_Privilege_Department_Code']],
'Create_CR': ["Yes"],
'Create_Template': ["No"],
'View_All_CR': ["Yes"],
'View_All_CR_Template': ["Yes"],
'Approve_CR': ["Yes"]
'Approve_CR': ["Yes"],
'Asset_Management_Privilege_Company': [departments[0]['Change_Request_Privilege_Company']],
'Asset_Management_Privilege_Department': [departments[0]['Change_Request_Privilege_Department']],
'Asset_Management_Privilege_Department_Code': [departments[0]['Change_Request_Privilege_Department_Code']],
'Asset_Management_User_Group': [ams_user_groups[0]]
}
cols = ['Username', 'Name', 'Company', 'Department', 'Department_Code']
cols += ['Email', 'Contact_No', 'Application', 'Default_app']
cols += ['Privilege_Company', 'Privilege_Department', 'Privilege_Department_Code']
cols += ['Change_Request_Privilege_Company', 'Change_Request_Privilege_Department', 'Change_Request_Privilege_Department_Code']
cols += ['Create_CR', 'Create_Template', 'View_All_CR','View_All_CR_Template', 'Approve_CR']
cols += ['Asset_Management_Privilege_Company', 'Asset_Management_Privilege_Department', 'Asset_Management_Privilege_Department_Code', 'Asset_Management_User_Group']
df = pd.DataFrame(data)
header = {"Privilege_Company": ['Please use this department code as reference']}
header = {"Change_Request_Privilege_Company": ['Please use this department code as reference']}
# header2 = {"Asset_Management_Privilege_Company": ['Please use this department code as reference']}
df3 = pd.DataFrame(
header
)
df2 = pd.DataFrame(
departments
)
# df4 = pd.DataFrame(
# header2
# )
df_row_reindex = pd.concat([df, df3, df2])
df_row_reindex = df_row_reindex.reindex(columns=cols)
df_row_reindex = df_row_reindex.to_csv(index=False, line_terminator='\n')
updated_file = ContentFile(df_row_reindex)
updated_file.name = "user_format.csv"
uploaded = MasterAttachment.objects.create(
url=updated_file,
attch_ref='etl_gen'
......@@ -279,7 +296,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
def create(self, request, **kwargs):
csv_file = request.FILES['file']
extension_file = str(csv_file).split('.')[1]
sp1 = transaction.savepoint()
sp1 = transaction.savepoint()
if extension_file.lower() != 'csv':
return Response(
......@@ -297,6 +314,8 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
department_error = 'Department should be same with the logged user'
company_error = 'Company should be same with the logged user'
application_cms_error = 'Please indicate cms in the Application column'
application_ams_error = 'Please indicate ams in the Application column'
etl = ExtractTransformLoad.objects.create(
file_name=str(csv_file),
......@@ -415,9 +434,9 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
)
else:
current_user = check_user[0]
try:
privilege_department_code = keys['Privilege_Department_Code']
privilege_department_code = keys['Change_Request_Privilege_Department_Code']
privilege_department_code = Department.objects.get(
code=privilege_department_code
)
......@@ -441,9 +460,26 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
AllowedCompany.objects.create(**privilege_object)
# Asset Management Privilege
privilege_department_code = keys[
'Asset_Management_Privilege_Department_Code']
privilege_department_code = Department.objects.get(
code=privilege_department_code
)
asset_user_code = keys['Asset_Management_User_Group']
privilege_object_ams = {
"id_number": current_user,
"department": privilege_department_code,
"ams_user_type": asset_user_code
}
AMSPrivilege.objects.create(**privilege_object_ams)
except IntegrityError as e:
# etl2.delete()
transaction.savepoint_rollback(sp1)
# transaction.savepoint_rollback(sp1)
return Response(
{"message": f"Duplicate user privilege at row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST
......
Username,Name,Company,Department,Department_Code,Email,Contact_No,Application,Default_app,Privilege_Company,Privilege_Department,Privilege_Department_Code,Create_CR,Create_Template,View_All_CR,View_All_CR_Template,Approve_CR
ob-john,John Doe,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,johndoe@gmail.com,123456,"cms,ams",cms,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,Yes,No,Yes,Yes,Yes
,,,,,,,,,Please use this department code as reference,,,,,,,
,,,,,,,,,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,,,,,
,,,,,,,,,JTC Corporation,Security,DEPARTMENT-20200122-0000002,,,,,
,,,,,,,,,Sample Company,Facilities Management,DEPARTMENT-20200130-0000004,,,,,
Username,Name,Company,Department,Department_Code,Email,Contact_No,Application,Default_app,Change_Request_Privilege_Company,Change_Request_Privilege_Department,Change_Request_Privilege_Department_Code,Create_CR,Create_Template,View_All_CR,View_All_CR_Template,Approve_CR,Asset_Management_Privilege_Company,Asset_Management_Privilege_Department,Asset_Management_Privilege_Department_Code,Asset_Management_User_Group
ob-john,John Doe,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,johndoe@gmail.com,123456,"cms,ams",cms,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,Yes,No,Yes,Yes,Yes,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,MANAGER
,,,,,,,,,Please use this department code as reference,,,,,,,,,,,
,,,,,,,,,Oneberry Technologies Pte Ltd,Business Development,DEPARTMENT-20200122-0000003,,,,,,,,,
,,,,,,,,,JTC Corporation,Security,DEPARTMENT-20200122-0000002,,,,,,,,,
,,,,,,,,,Sample Company,Facilities Management,DEPARTMENT-20200130-0000004,,,,,,,,,
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