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
450a9495
Commit
450a9495
authored
Jan 09, 2018
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Bug&Update] 以下bug和功能
- 修复新建资产不选管理用户和集群异常bug - profile下拉增加icon - 授权api增加os和platform
parent
c0829194
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
15 additions
and
14 deletions
+15
-14
forms.py
apps/assets/forms.py
+2
-2
serializers.py
apps/assets/serializers.py
+1
-1
api_urls.py
apps/perms/urls/api_urls.py
+1
-3
_header_bar.html
apps/templates/_header_bar.html
+4
-5
_user_profile.html
apps/templates/_user_profile.html
+1
-1
user.py
apps/users/models/user.py
+6
-2
No files found.
apps/assets/forms.py
View file @
450a9495
...
...
@@ -36,7 +36,7 @@ class AssetCreateForm(forms.ModelForm):
def
clean_admin_user
(
self
):
cluster
=
self
.
cleaned_data
.
get
(
'cluster'
)
admin_user
=
self
.
cleaned_data
.
get
(
'admin_user'
)
if
not
cluster
.
admin_user
and
not
admin_user
:
if
not
admin_user
and
(
cluster
and
not
cluster
.
admin_user
)
:
raise
forms
.
ValidationError
(
_
(
"You need set a admin user if cluster not have"
))
return
self
.
cleaned_data
[
'admin_user'
]
...
...
@@ -64,7 +64,7 @@ class AssetUpdateForm(forms.ModelForm):
def
clean_admin_user
(
self
):
cluster
=
self
.
cleaned_data
.
get
(
'cluster'
)
admin_user
=
self
.
cleaned_data
.
get
(
'admin_user'
)
if
not
cluster
.
admin_user
and
not
admin_user
:
if
not
admin_user
and
(
cluster
and
not
cluster
.
admin_user
)
:
raise
forms
.
ValidationError
(
_
(
"You need set a admin user if cluster not have"
))
return
self
.
cleaned_data
[
'admin_user'
]
...
...
apps/assets/serializers.py
View file @
450a9495
...
...
@@ -192,7 +192,7 @@ class AssetGrantedSerializer(serializers.ModelSerializer):
class
Meta
(
object
):
model
=
Asset
fields
=
(
"id"
,
"hostname"
,
"ip"
,
"port"
,
"system_users_granted"
,
"is_inherited"
,
"is_active"
,
"system_users_join"
,
"is_inherited"
,
"is_active"
,
"system_users_join"
,
"os"
,
"platform"
,
"comment"
,)
@staticmethod
...
...
apps/perms/urls/api_urls.py
View file @
450a9495
...
...
@@ -7,9 +7,7 @@ from .. import api
app_name
=
'perms'
router
=
routers
.
DefaultRouter
()
router
.
register
(
'v1/asset-permissions'
,
api
.
AssetPermissionViewSet
,
'asset-permission'
)
router
.
register
(
'v1/asset-permissions'
,
api
.
AssetPermissionViewSet
,
'asset-permission'
)
urlpatterns
=
[
# 用户可以使用自己的Token或其它认证查看自己授权的资产,资产组等
...
...
apps/templates/_header_bar.html
View file @
450a9495
...
...
@@ -30,17 +30,16 @@
</span>
</a>
<ul
class=
"dropdown-menu animated fadeInRight m-t-xs"
>
<li><a
href=
"{% url 'users:user-profile' %}"
>
{% trans 'Profile' %}
</a></li>
<li><a
href=
"{% url 'users:user-profile-update' %}"
>
{% trans 'Profile settings' %}
</a></li>
<li><a
href=
"{% url 'users:user-profile' %}"
><i
class=
"fa fa-cogs"
>
</i><span>
{% trans 'Profile' %}
</span></a></li>
<li
class=
"divider"
></li>
{% if request.user.is_superuser %}
{% if request.COOKIES.IN_ADMIN_PAGE == 'No' %}
<li><a
id=
"switch_admin"
>
{% trans 'Admin page' %}
</a></li>
<li><a
id=
"switch_admin"
><i
class=
"fa fa-exchange"
></i><span>
{% trans 'Admin page' %}
</span>
</a></li>
{% else %}
<li><a
id=
"switch_user"
>
{% trans 'User page' %}
</a></li>
<li><a
id=
"switch_user"
><i
class=
"fa fa-exchange"
></i><span>
{% trans 'User page' %}
</span>
</a></li>
{% endif %}
{% endif %}
<li><a
href=
"{% url 'users:logout' %}"
>
{% trans 'Logout' %}
</a></li>
<li><a
href=
"{% url 'users:logout' %}"
>
<i
class=
"fa fa-sign-out"
></i>
{% trans 'Logout' %}
</a></li>
</ul>
{% else %}
<a
href=
"{% url 'users:login' %}"
>
...
...
apps/templates/_user_profile.html
View file @
450a9495
...
...
@@ -30,7 +30,7 @@ $(document).ready(function () {
setTimeout
(
function
()
{
delCookie
(
cookieName
);
setCookie
(
cookieName
,
"No"
);
window
.
location
=
"
/
"
window
.
location
=
"
{% url 'assets:user-asset-list' %}
"
},
100
);
})
</script>
apps/users/models/user.py
View file @
450a9495
...
...
@@ -168,6 +168,11 @@ class User(AbstractUser):
token
=
PrivateToken
.
objects
.
create
(
user
=
self
)
return
token
.
key
def
create_access_key
(
self
):
from
.
import
AccessKey
access_key
=
AccessKey
.
objects
.
create
(
user
=
self
)
return
access_key
def
refresh_private_token
(
self
):
from
.authentication
import
PrivateToken
PrivateToken
.
objects
.
filter
(
user
=
self
)
.
delete
()
...
...
@@ -214,13 +219,12 @@ class User(AbstractUser):
@classmethod
def
create_app_user
(
cls
,
name
,
comment
):
from
.
import
AccessKey
app
=
cls
.
objects
.
create
(
username
=
name
,
name
=
name
,
email
=
'{}@local.domain'
.
format
(
name
),
is_active
=
False
,
role
=
'App'
,
enable_otp
=
False
,
comment
=
comment
,
is_first_login
=
False
,
created_by
=
'System'
)
access_key
=
AccessKey
.
objects
.
create
(
user
=
app
)
access_key
=
app
.
create_access_key
(
)
return
app
,
access_key
@classmethod
...
...
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