Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
ops
jumpserver
Commits
c1a74aeb
Commit
c1a74aeb
authored
Nov 24, 2016
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[BugFix] update some user import bug
parent
eae580e5
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
14 additions
and
10 deletions
+14
-10
mixins.py
apps/common/mixins.py
+2
-3
api.py
apps/users/api.py
+3
-0
models.py
apps/users/models.py
+1
-1
_user_bulk_update_modal.html
apps/users/templates/users/_user_bulk_update_modal.html
+1
-1
user_list.html
apps/users/templates/users/user_list.html
+3
-3
views.py
apps/users/views.py
+4
-2
No files found.
apps/common/mixins.py
View file @
c1a74aeb
...
...
@@ -40,10 +40,9 @@ class NoDeleteModelMixin(models.Model):
class
JSONResponseMixin
(
object
):
"""JSON mixin"""
def
render_json_response
(
self
,
context
):
@staticmethod
def
render_json_response
(
context
):
return
JsonResponse
(
context
)
...
...
apps/users/api.py
View file @
c1a74aeb
...
...
@@ -29,6 +29,9 @@ class UserViewSet(BulkModelViewSet):
serializer_class
=
serializers
.
UserSerializer
permission_classes
=
(
IsSuperUser
,)
def
allow_bulk_destroy
(
self
,
qs
,
filtered
):
return
qs
is
not
filtered
class
UserUpdateGroupApi
(
generics
.
RetrieveUpdateAPIView
):
queryset
=
User
.
objects
.
all
()
...
...
apps/users/models.py
View file @
c1a74aeb
...
...
@@ -79,7 +79,7 @@ class User(AbstractUser):
role
=
models
.
CharField
(
choices
=
ROLE_CHOICES
,
default
=
'User'
,
max_length
=
10
,
blank
=
True
,
verbose_name
=
_
(
'Role'
))
avatar
=
models
.
ImageField
(
upload_to
=
"avatar"
,
verbose_name
=
_
(
'Avatar'
))
wechat
=
models
.
CharField
(
max_length
=
30
,
blank
=
True
,
verbose_name
=
_
(
'Wechat'
))
phone
=
models
.
CharField
(
max_length
=
20
,
blank
=
True
,
verbose_name
=
_
(
'Phone'
))
phone
=
models
.
CharField
(
max_length
=
20
,
blank
=
True
,
null
=
True
,
verbose_name
=
_
(
'Phone'
))
enable_otp
=
models
.
BooleanField
(
default
=
False
,
verbose_name
=
_
(
'Enable OTP'
))
secret_key_otp
=
models
.
CharField
(
max_length
=
16
,
blank
=
True
)
_private_key
=
models
.
CharField
(
max_length
=
5000
,
blank
=
True
,
verbose_name
=
_
(
'ssh private key'
))
...
...
apps/users/templates/users/_user_bulk_update_modal.html
View file @
c1a74aeb
...
...
@@ -27,7 +27,7 @@
</div>
<div
class=
"form-group"
>
<div
class=
"col-sm-9 col-lg-9 col-sm-offset-2"
>
<div
class=
"checkbox
checkbox-success
"
>
<div
class=
"checkbox"
>
<input
type=
"checkbox"
name=
"enable_otp"
checked
id=
"id_enable_otp"
><label
for=
"id_enable_otp"
>
{% trans 'Enable-OTP' %}
</label>
</div>
</div>
...
...
apps/users/templates/users/user_list.html
View file @
c1a74aeb
...
...
@@ -117,11 +117,11 @@ $(document).ready(function(){
$
(
'<span />'
,
{
class
:
'help-block text-danger'
}).
html
(
data
.
msg
).
insertAfter
(
$
(
'#id_users'
));
}
else
{
$
(
'#id_created'
).
html
(
data
.
created_info
);
$
(
'#id_created_detail'
).
html
(
data
.
created
.
join
(
','
));
$
(
'#id_created_detail'
).
html
(
data
.
created
.
join
(
',
'
));
$
(
'#id_updated'
).
html
(
data
.
updated_info
);
$
(
'#id_updated_detail'
).
html
(
data
.
updated
.
join
(
','
));
$
(
'#id_updated_detail'
).
html
(
data
.
updated
.
join
(
',
'
));
$
(
'#id_failed'
).
html
(
data
.
failed_info
);
$
(
'#id_failed_detail'
).
html
(
data
.
failed
.
join
(
','
));
$
(
'#id_failed_detail'
).
html
(
data
.
failed
.
join
(
',
'
));
var
$data_table
=
$
(
'#user_list_table'
).
DataTable
();
$data_table
.
ajax
.
reload
();
}
...
...
apps/users/views.py
View file @
c1a74aeb
...
...
@@ -530,8 +530,9 @@ class BulkImportUserView(AdminUserRequiredMixin, JSONResponseMixin, FormView):
groups
=
None
try
:
user
=
User
.
objects
.
create
(
**
user_dict
)
user_add_success_next
(
user
)
created
.
append
(
user_dict
[
'username'
])
except
IntegrityError
:
except
IntegrityError
as
e
:
user
=
User
.
objects
.
filter
(
username
=
user_dict
[
'username'
])
if
not
user
:
failed
.
append
(
user_dict
[
'username'
])
...
...
@@ -539,7 +540,8 @@ class BulkImportUserView(AdminUserRequiredMixin, JSONResponseMixin, FormView):
user
.
update
(
**
user_dict
)
user
=
user
[
0
]
updated
.
append
(
user_dict
[
'username'
])
except
TypeError
:
except
TypeError
as
e
:
print
(
e
)
failed
.
append
(
user_dict
[
'username'
])
user
=
None
...
...
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