Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Sign in
Toggle navigation
R
red-ci-cd
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
red-group-test
red-ci-cd
Commits
39b008b7
Commit
39b008b7
authored
Mar 12, 2020
by
Gladys Forte
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
{devbugfix} initial ams privilege on batchupload
parent
e1f9f23c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
65 additions
and
29 deletions
+65
-29
app/applicationlayer/management/batchupload/views.py
app/applicationlayer/management/batchupload/views.py
+59
-23
media/uploads/user_format.csv
media/uploads/user_format.csv
+6
-6
No files found.
app/applicationlayer/management/batchupload/views.py
View file @
39b008b7
...
...
@@ -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
...
...
media/uploads/user_format.csv
View file @
39b008b7
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,,,,,
,,,,
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment