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
df380c34
Commit
df380c34
authored
Oct 19, 2016
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update api
parent
61648967
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
51 additions
and
8 deletions
+51
-8
urls.py
apps/jumpserver/urls.py
+1
-1
api.py
apps/perms/api.py
+27
-0
hands.py
apps/perms/hands.py
+1
-5
serializers.py
apps/perms/serializers.py
+14
-0
urls.py
apps/perms/urls.py
+6
-0
backends.py
apps/users/backends.py
+1
-0
hands.py
apps/users/hands.py
+1
-2
No files found.
apps/jumpserver/urls.py
View file @
df380c34
...
...
@@ -24,7 +24,7 @@ urlpatterns = [
url
(
r'^$'
,
TemplateView
.
as_view
(
template_name
=
'base.html'
),
name
=
'index'
),
url
(
r'^(api/)?users/'
,
include
(
'users.urls'
)),
url
(
r'^assets/'
,
include
(
'assets.urls'
)),
url
(
r'^perms/'
,
include
(
'perms.urls'
)),
url
(
r'^
(api/)?
perms/'
,
include
(
'perms.urls'
)),
url
(
r'^(api/)?audits/'
,
include
(
'audits.urls'
)),
url
(
r'^(api/)?terminal/'
,
include
(
'terminal.urls'
)),
]
...
...
apps/perms/api.py
View file @
df380c34
# ~*~ coding: utf-8 ~*~
#
from
rest_framework.views
import
APIView
,
Response
from
users.backends
import
IsValidUser
from
.utils
import
get_user_granted_assets
,
get_user_granted_asset_groups
class
UserAssetsGrantedApi
(
APIView
):
permission_classes
=
(
IsValidUser
,)
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
assets_json
=
[]
user
=
request
.
user
if
user
:
assets
=
get_user_granted_assets
(
user
)
for
asset
,
system_users
in
assets
.
items
():
assets_json
.
append
({
'id'
:
asset
.
id
,
'hostname'
:
asset
.
hostname
,
'ip'
:
asset
.
ip
,
'port'
:
asset
.
port
,
'system_users'
:
[
system_user
.
name
for
system_user
in
system_users
],
'comment'
:
asset
.
comment
})
return
Response
(
assets_json
,
status
=
200
)
apps/perms/hands.py
View file @
df380c34
# ~*~ coding: utf-8 ~*~
#
from
django.db
import
models
from
django.utils.translation
import
ugettext_lazy
as
_
from
users.utils
import
AdminUserRequiredMixin
# from users.backends import IsValdiUser
from
users.models
import
User
,
UserGroup
from
assets.models
import
Asset
,
AssetGroup
,
SystemUser
apps/perms/serializers.py
0 → 100644
View file @
df380c34
# -*- coding: utf-8 -*-
#
from
rest_framework
import
serializers
class
TerminalHeatbeatSerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
TerminalHeatbeat
fields
=
[
'terminal'
]
if
__name__
==
'__main__'
:
pass
apps/perms/urls.py
View file @
df380c34
...
...
@@ -2,6 +2,7 @@
from
django.conf.urls
import
url
import
views
import
api
app_name
=
'perms'
...
...
@@ -20,3 +21,8 @@ urlpatterns = [
name
=
'asset-permission-asset-list'
),
]
urlpatterns
+=
[
url
(
r'^v1/user/assets/granted/$'
,
api
.
UserAssetsGrantedApi
.
as_view
(),
name
=
'user-assets-granted'
),
]
apps/users/backends.py
View file @
df380c34
...
...
@@ -6,6 +6,7 @@ from rest_framework.compat import is_authenticated
from
django.utils.translation
import
ugettext
as
_
from
common.utils
import
unsign
,
get_object_or_none
from
.hands
import
Terminal
...
...
apps/users/hands.py
View file @
df380c34
...
...
@@ -10,6 +10,6 @@
:license: GPL v2, see LICENSE for more details.
"""
from
terminal.models
import
Terminal
from
perms.models
import
AssetPermission
from
perms.utils
import
get_user_granted_assets
,
get_user_granted_asset_groups
from
terminal.models
import
Terminal
\ No newline at end of file
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