Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
guo xiaoyong
Jumpserver
Commits
f8bbca38
Commit
f8bbca38
authored
4 years ago
by
xinwen
Committed by
老广
4 years ago
Browse files
Options
Download
Email Patches
Plain Diff
fix(orgs): 修复组织添加用户bug
parent
12b180dd
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
apps/orgs/models.py
+10
-4
apps/orgs/models.py
with
10 additions
and
4 deletions
+10
-4
apps/orgs/models.py
+
10
-
4
View file @
f8bbca38
...
...
@@ -230,8 +230,14 @@ def _none2list(*args):
return
([]
if
v
is
None
else
v
for
v
in
args
)
def
_users2pks
(
users
,
admins
,
auditors
):
return
[
user
.
pk
for
user
in
chain
(
users
,
admins
,
auditors
)
if
hasattr
(
user
,
'pk'
)]
def
_users2pks_if_need
(
users
,
admins
,
auditors
):
pks
=
[]
for
user
in
chain
(
users
,
admins
,
auditors
):
if
hasattr
(
user
,
'pk'
):
pks
.
append
(
user
.
pk
)
else
:
pks
.
append
(
user
)
return
pks
class
UserRoleMapper
(
dict
):
...
...
@@ -271,7 +277,7 @@ class OrgMemeberManager(models.Manager):
users
,
admins
,
auditors
=
_none2list
(
users
,
admins
,
auditors
)
send
=
partial
(
signals
.
m2m_changed
.
send
,
sender
=
self
.
model
,
instance
=
org
,
reverse
=
False
,
model
=
User
,
pk_set
=
_users2pks
(
users
,
admins
,
auditors
),
using
=
self
.
db
)
model
=
User
,
pk_set
=
_users2pks
_if_need
(
users
,
admins
,
auditors
),
using
=
self
.
db
)
send
(
action
=
"pre_remove"
)
self
.
filter
(
org_id
=
org
.
id
).
filter
(
...
...
@@ -302,7 +308,7 @@ class OrgMemeberManager(models.Manager):
oms_add
.
append
(
self
.
model
(
org_id
=
org
.
id
,
user_id
=
_user
,
role
=
_role
))
send
=
partial
(
signals
.
m2m_changed
.
send
,
sender
=
self
.
model
,
instance
=
org
,
reverse
=
False
,
model
=
User
,
pk_set
=
_users2pks
(
users
,
admins
,
auditors
),
using
=
self
.
db
)
model
=
User
,
pk_set
=
_users2pks
_if_need
(
users
,
admins
,
auditors
),
using
=
self
.
db
)
send
(
action
=
'pre_add'
)
self
.
bulk_create
(
oms_add
,
ignore_conflicts
=
True
)
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
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
Menu
Projects
Groups
Snippets
Help